我想实现一个 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/