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

Jum*_*Box 9 sql postgresql

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

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

And*_*rte 21

我喜欢他们在这里提到的解决方案

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

  • 在9.5+,`INSERT ......在冲突中没有'或'插入......在冲突更新'/sf/answers/1208719641/ (3认同)