如何在MySQL中存在具有特定值的行

时间:2013-07-22 04:47:09

标签: mysql

我的桌子看起来像是:

productId  uid  version

我只想知道是否存在具有特定值的行,我不需要返回任何数据。

怎么做?

3 个答案:

答案 0 :(得分:3)

试试这个:

SELECT EXISTS(SELECT * FROM tablename WHERE productId=210)

答案 1 :(得分:1)

一个简单的是;

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;

An SQLfiddle to test with

如果行存在则返回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需要找到所有匹配的行< / em>(即使只有一个存在)来计算它们。

答案 2 :(得分:0)

SELECT COUNT(*) FROM product_table where productId  =2

如果结果是&gt; 0然后存在id为2的产品,否则