检查PG表中行记录是否已存在,可通过发起一个select看下是否有行记录返回,但是依赖于如何做到这点,返回的结果可能比较奇怪或者不太高效。
EXISTS子查询表达式可用于明确确定另一个查询是否返回任何行,因此可以用于检测特定行是否存在:
# CREATE TABLE test(id BIGSERIAL PRIMARYKEY);
# INSERT INTO test(id) VALUES (13);
# SELECT EXISTS(SELECT 1 FROM test WHEREid=11) AS "exists";
exists
--------
f
(1 row)
# SELECT EXISTS(SELECT 1 FROM test WHEREid=13) AS "exists";
exists
--------
t
(1 row)
EXISTS总是返回一个bool值,true或者false。
原文:
https://postgresweekly.com/issues/370
最后修改时间:2021-03-18 23:58:43
文章转载自yanzongshuaiDBA,如果涉嫌侵权,请发送邮件至:contact@modb.pro进行举报,并提供相关证据,一经查实,墨天轮将立刻删除相关内容。