これを機能させたいのですが、PostgresはWHERE
このタイプの挿入に句を含めるのが好きではありません。
INSERT INTO keys(name, value) VALUES
('blah', 'true')
WHERE NOT EXISTS (
SELECT 1 FROM keys WHERE name='blah'
);
これを機能させたいのですが、PostgresはWHERE
このタイプの挿入に句を含めるのが好きではありません。
INSERT INTO keys(name, value) VALUES
('blah', 'true')
WHERE NOT EXISTS (
SELECT 1 FROM keys WHERE name='blah'
);
Postgresには、それを行うための本当に良い方法があります。
INSERT INTO keys(name, value)
SELECT 'blah', 'true'
WHERE NOT EXISTS (
SELECT 1 FROM keys WHERE name='blah'
);
お役に立てば幸いです。-
Postgresql 9.5では、次を使用できるようになりましたon conflict do nothing
insert into KEYS (name, value) values (
'blah', 'true') on conflict (name) do nothing;