ON DUPLICATE KEY UPDATE - 找到保留字

时间:2015-10-19 08:14:02

标签: mysql

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

这是我的表

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

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

这是我的查询

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

我在这里阅读了很多文档和其他主题,但我无法找到我做错的事。

错误消息是:

期待&#34 ;;",找到保留字" ON"第1行

1 个答案:

答案 0 :(得分:2)

NAME是保留的MySQL关键字。把它放在反引号中:

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

您可以查看keywords here

的完整列表