我想让这个工作,但 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;