我有一张桌子,看起来像:
productId uid version
我只想知道是否存在具有特定值的行,我不需要返回任何数据。
这个怎么做?
尝试这个:
SELECT EXISTS(SELECT * FROM tablename WHERE productId=210)
一个简单的是;
SELECT EXISTS (
SELECT uid FROM my_table
WHERE product_id = <product id to check for>
AND uid = <uid to check for>
AND version = <version to check for>
) does_exist;
如果该行存在则返回 1,如果不存在则返回 0。
您也可以使用COUNT
;
SELECT COUNT(*) how_many_exist
FROM my_table
WHERE product_id = <product id to check for>
AND uid = <uid to check for>
AND version = <version to check for>
...但这很可能会更慢,因为EXISTS
只需要找到一行即可返回 1,而COUNT
需要查找所有匹配的行(即使只存在一个)来计算它们。
SELECT COUNT(*) FROM product_table where productId =2
如果结果 > 0,则 id 为 2 的产品存在,否则不存在