如果一行不存在,则插入else不会在postgres中插入

时间:2013-03-04 15:06:16

标签: sql postgresql

我需要检查一行是否存在。如果它不存在,则应插入。

这是postgres,我试图通过shell脚本插入行。当我运行脚本时,它不会显示错误,但即使没有匹配的行,它也不会插入到表中。

1 个答案:

答案 0 :(得分:21)

我喜欢他们提到的解决方案here

INSERT INTO table (id, field, field2)
       SELECT 3, 'C', 'Z'
       WHERE NOT EXISTS (SELECT 1 FROM table WHERE id=3);