检测表中行记录是否已存在

2021-01-05 14:37:35 浏览数 (1)

检查PG表中行记录是否已存在,可通过发起一个select看下是否有行记录返回,但是依赖于如何做到这点,返回的结果可能比较奇怪或者不太高效。

EXISTS子查询表达式可用于明确确定另一个查询是否返回任何行,因此可以用于检测特定行是否存在:

代码语言:javascript复制
# 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)
代码语言:javascript复制
# SELECT EXISTS(SELECT 1 FROM test WHEREid=13) AS "exists";
 exists
--------
 t
(1 row)

EXISTS总是返回一个bool值,true或者false。

原文:

https://postgresweekly.com/issues/370

0 人点赞