gpt4 book ai didi

sql - 如果不存在则插入到 h2 表中

转载 作者:行者123 更新时间:2023-12-03 20:20:59 24 4
gpt4 key购买 nike

我正在使用 H2。如果表不存在,我想将其插入到表中。我创建表:

CREATE TABLE IF NOT EXISTS $types 
(type VARCHAR(15) NOT NULL UNIQUE);

我想做类似的事情
REPLACE INTO types (type) values ('type1');

我找到了 an example关于替换显然适用于 MySQL,但我使用的是 h2。但是当我从 h2 控制台运行时出现错误:
Syntax error in SQL statement "REPLACE[*] INTO TYPES (TYPE) VALUES ('expense') "; expected "ROLLBACK, REVOKE, RUNSCRIPT, RELEASE, {"; SQL statement:
REPLACE INTO types (type) values ('expense') [42001-170] 42001/42001

我也试过
INSERT IGNORE INTO types (type) values ('expense');


INSERT INTO types (type) values ('expense') ON DUPLICATE KEY UPDATE type=type;

我不在乎新插入是否覆盖旧数据,或者它是否只是不执行新插入。有没有办法用 h2 数据库做到这一点?

最佳答案

merge statement应该让你实现你想要的。我不是 H2 方面的专家,但我使用过 MERGE在 SQL Server 中多次使用语句,从该网站的外观来看,它应该可以解决问题。

从网站:

Updates existing rows, and insert rows that don't exist. If no key column is specified, the primary key columns are used to find the row.

关于sql - 如果不存在则插入到 h2 表中,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15286084/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com