
检查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
本文分享自 yanzongshuaiDBA 微信公众号,前往查看
如有侵权,请联系 cloudcommunity@tencent.com 删除。
本文参与 腾讯云自媒体同步曝光计划 ,欢迎热爱写作的你一起参与!