sql - 如果一行不存在则插入,否则不要在 postgres 中插入

标签 sql postgresql

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

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

最佳答案

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

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

关于sql - 如果一行不存在则插入,否则不要在 postgres 中插入,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15204621/

相关文章:

php - 如何修复 JSON_ERROR_UTF8

sql - 这个sql语句可以缩短吗?

postgresql - 选择 * 除了第 n 列

java - 在 Spring 启动一段时间后,数据库连接丢失

mysql - 如何使用 Symfony 选择最近 24 小时的 Doctrine_Query?

mysql - SQL - 选择其列不遵循相同顺序的记录

sql - 如何使用 PostgreSQL 执行 MERGE(插入/更新/删除)?

database - 在 PostgreSQL 中取消嵌套 JSON 对象列表

c# - 使用左连接和 sum() 的 Linq To SQL 抛出异常

sql - 更新闭包表的最佳方法是什么?