如果要插入一个条目,我想让H2数据库引擎替换冲突的委托,并且它与另一个具有相同PRIMARY KEY或UNIQUE值的记录冲突。
我可以在SQLite中使用以下内容执行相同的操作:
CREATE TABLE STACKOVERFLOW(FOO TEXT IDENTITY ON CONFLICT REPLACE);
这在SQLite中称为function。
我可以在H2 SQL方言中复制此行为吗?
答案 0 :(得分:1)
这可以通过使用MERGE INTO
语句来实现,在我的情况下,我只能将INSERT
语句替换为MERGE INTO
:
MERGE INTO TABLE STACKOVERFLOW('abc');
MERGE INTO TABLE STACKOVERFLOW('abc'); -- will not fail