9

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

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

4

1 回答 1

27

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

INSERT INTO table (id, field, field2)
       SELECT 3, 'C', 'Z'
       WHERE NOT EXISTS (SELECT 1 FROM table WHERE id=3);
于 2013-03-04T20:24:06.080 回答