【发布时间】:2015-06-30 19:10:25
【问题描述】:
我使用 H2(嵌入式)开发了 java 桌面应用程序。我只是对数据库有基本的了解,所以我只是安装了 H2 并创建了一个模式名称 RecordAutomation,然后将表添加到该模式中。现在我正在尝试对无法正常工作的特定表使用 ON DUPLICATE KEY UPDATE 功能,给出 sql 语法错误,我检查了我的查询,发现它是正确的,如下所示
INSERT INTO RECORDAUTOMATION.MREPORT
(PRODUCTID ,DESCRIPTION ,QUANTITY ,SUBTOTAL ,PROFIT )
VALUES (22,olper,5,100,260)
ON DUPLICATE KEY UPDATE SET QUANTITY = QUANTITY+5;
我搜索并尝试在一些讨论的地方解决此问题,例如此功能不适用于非默认表。我不知道默认和非默认。请帮帮我
【问题讨论】:
-
没有这样的语法,看手册:h2database.com/html/grammar.html#insert你在找
MERGE语句:h2database.com/html/grammar.html#merge -
@a_horse_with_no_name 这适用于 mysql...我需要可以对复制键执行更新的查询
-
H2 不是 MySQL。正如我所说:您正在寻找 MERGE 语句。
-
这不是属性记录...这个特性是支持的,但目前只在 MySQL 模式下。