mysql - 重复 key 更新 - 找到保留字

标签 mysql

我想实现一个 INSERT ... ON DUPLICATE KEY UPDATE 解决方案,如 SQL 文档 here 中所述。 .

这是我的 table

|Table|
|Name (unique)|Description|
|Entry1|{empty}|

我想创建一个名为 Entry1 的新条目,其描述为“test”,或者,如果存在,则更新 Entry1 的描述

这是我的查询

INSERT INTO Table (NAME, DESCRIPTION) VALUES ('Entry1', 'test') 
ON DUPLICATE KEY UPDATE DESCRIPTION = 'test';

我在这里阅读了很多文档和其他主题,但我找不到我做错了什么。

错误信息是:

需要“;”,在第 1 行找到保留字“ON”

最佳答案

NAME 是 MySQL 的保留关键字。将其放在反引号内:

INSERT INTO Table (`NAME`, DESCRIPTION)
VALUES ('Entry1', 'test') 
ON DUPLICATE KEY
UPDATE DESCRIPTION = 'test';

您可以浏览 keywords here 的完整列表.

关于mysql - 重复 key 更新 - 找到保留字,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33209608/

相关文章:

mysql - 获取可供出售的股票

mysql - TIMESTAMPDIFF,新列上的多行结果

mysql - 使用触发器在插入后使用创建新记录并从另一个表中选择

mysql - 我需要优化mysql数据库中的大数据表

Python3.x如何在进程之间共享一个数据库连接?

java - 如何解决,JSONException : No value for "1"

mysql - 电商订单系统 不可变订单

mysql - 如何正确安装MySQL Ruby Gem

php - 如何隐藏 URL 中包含的高分信息?

php - 如何在php上获取正确的sql值