私はH2を使用しています。値が存在しない場合は、テーブルに値を挿入したいと思います。次のコマンドでテーブルを作成します。
CREATE TABLE IF NOT EXISTS $types
(type VARCHAR(15) NOT NULL UNIQUE);
そして、私は次のようなことをしたい
REPLACE INTO types (type) values ('type1');
MySQLで明らかに機能するReplaceに関する例を見つけましたが、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データベースでこれを行う方法はありますか?