如果正在插入一个条目并且它与具有相同 PRIMARY KEY 或 UNIQUE 值的另一个记录冲突,我想让 H2 数据库引擎替换冲突的条目。
我可以在 SQLite 中执行以下操作:
CREATE TABLE STACKOVERFLOW(FOO TEXT IDENTITY ON CONFLICT REPLACE);
这称为 conflict clause在 SQLite 中。
我可以在 H2 SQL 方言中复制此行为吗?
最佳答案
这可以通过使用 MERGE INTO
语句来实现,在我的例子中,我只需将 INSERT
语句替换为 MERGE INTO
:
MERGE INTO TABLE STACKOVERFLOW('abc');
MERGE INTO TABLE STACKOVERFLOW('abc'); -- will not fail
关于java - H2 数据库 - 主键冲突替换,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33285598/