对于这个在mysql 8.012中创建的简单表
CREATE TABLE `lead` (
`ID` int(11) NOT NULL,
`TS` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP,
`RS` json DEFAULT NULL
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_0900_ai_ci;
声明
INSERT INTO lead (ID,RS) VALUES (1397,'{"ID":"1397","TITLE":"John Lenon -TESTE ZAPIER 54","HONORIFIC":"0"}')
ON DUPLICATE KEY UPDATE RS = VALUES(RS);
通过phpmysqladmin提交时失败,出现错误
静态分析:
分析中发现3处错误。
无法识别的关键字(靠近“开”的位置111)无法识别的关键字(靠近“复制”位置114)未识别的关键字(靠近“钥匙”位置124)
sql查询:
INSERT INTO lead (ID,RS) VALUES
(1397,'{"ID":"1397","TITLE":"John Lenon -TESTE ZAPIER 54","HONORIFIC":"0"}')
ON DUPLICATE KEY UPDATE RS = VALUES(RS)
mysql说:文档
1064-您的sql语法有错误;检查与您的mysql服务器版本对应的手册,以获得正确的语法,以便在第1行使用near'lead(id,rs)values(1397,{“id”:“1397”,“title”:“john lenon-teste zapier 54”,“h”
但是,如果将表名更改为“myleader”,则该语句会像一个符咒一样工作。
有什么想法吗?谢谢罗纳尔多
1条答案
按热度按时间xggvc2p61#
对,
LEAD
是保留字:铅(r);8.0.2增加(保留)
mysql关键字和保留字