【发布时间】:2021-02-06 07:15:01
【问题描述】:
我尝试执行以下查询:
SET DATABASE SQL SYNTAX MYS TRUE;
然后:
INSERT INTO mytable (id, age) VALUES (1, 1)
ON DUPLICATE KEY UPDATE id=2, age=33;
我得到错误:
INSERT INTO mytable (id, age) VALUES (1, 1)
ON DUPLICATE KEY
[2020-10-23 11:09:42] [42590][-5590] unexpected end of statement: required: UPDATE : line: 2
我做错了什么?
【问题讨论】:
-
我几乎觉得可能由于某种原因没有启用 MySQL 语法模式。
-
@Tim Biegeleisen 如何查看?
-
@Tim Biegeleisen PUBLIC.PUBLIC> SET DATABASE SQL SYNTAX MYS TRUE [2020-10-23 11:23:14] 在 4 毫秒内完成 PUBLIC.PUBLIC> INSERT INTO tblUserMetadata (userMetadataId, portalId) VALUES (1, 1) ON DUPLICATE KEY [2020-10-23 11:23:14] [42590][-5590] 语句意外结束:必需:更新:行:2
-
你可以尝试运行这个:
SELECT 'true' WHERE 'Hello World' REGEXP '^H.*d$';吗?让我们尝试验证 MySQL 语法的其他方式。 -
@Tim Biegeleise PUBLIC.PUBLIC> SELECT 'true' WHERE 'Hello World' REGEXP '^H.*d$' [2020-10-23 11:25:45] [42581][- 5581] 意外的令牌:WHERE
标签: insert sql-insert hsqldb upsert