【问题标题】:H2 Database - on primary key conflict replaceH2 数据库 - 主键冲突替换
【发布时间】:2015-10-22 16:10:02
【问题描述】:

如果正在插入一个条目并且它与另一个具有相同 PRIMARY KEY 或 UNIQUE 值的记录冲突,我想让 H2 数据库引擎替换冲突的条目。

我可以在 SQLite 中做同样的事情:

CREATE TABLE STACKOVERFLOW(FOO TEXT IDENTITY ON CONFLICT REPLACE);

这在 SQLite 中称为conflict clause

我可以在 H2 SQL 方言中复制这种行为吗?

【问题讨论】:

标签: java sql h2


【解决方案1】:

这可以通过使用MERGE INTO 语句来实现,在我的例子中,我可以将INSERT 语句替换为MERGE INTO

MERGE INTO TABLE STACKOVERFLOW('abc');
MERGE INTO TABLE STACKOVERFLOW('abc'); -- will not fail

【讨论】:

    猜你喜欢
    • 2011-11-19
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2019-11-08
    • 1970-01-01
    • 1970-01-01
    • 2011-04-21
    相关资源
    最近更新 更多