H2 数据库 - 主键冲突替换
H2 Database - on primary key conflict replace
如果插入的条目与具有相同 PRIMARY KEY 或 UNIQUE 值的另一条记录冲突,我想让 H2 数据库引擎替换冲突的条目。
我可以在 SQLite 中使用以下方法执行相同的操作:
CREATE TABLE Whosebug(FOO TEXT IDENTITY ON CONFLICT REPLACE);
这在 SQLite 中称为 conflict clause。
我可以在 H2 SQL 方言中复制这种行为吗?
这可以通过使用 MERGE INTO
语句来实现,在我的例子中,我可以将 INSERT
语句替换为 MERGE INTO
:
MERGE INTO TABLE Whosebug('abc');
MERGE INTO TABLE Whosebug('abc'); -- will not fail
如果插入的条目与具有相同 PRIMARY KEY 或 UNIQUE 值的另一条记录冲突,我想让 H2 数据库引擎替换冲突的条目。
我可以在 SQLite 中使用以下方法执行相同的操作:
CREATE TABLE Whosebug(FOO TEXT IDENTITY ON CONFLICT REPLACE);
这在 SQLite 中称为 conflict clause。
我可以在 H2 SQL 方言中复制这种行为吗?
这可以通过使用 MERGE INTO
语句来实现,在我的例子中,我可以将 INSERT
语句替换为 MERGE INTO
:
MERGE INTO TABLE Whosebug('abc');
MERGE INTO TABLE Whosebug('abc'); -- will not fail