我试图找出表中是否存在行。使用MySQL,最好执行如下查询:
SELECT COUNT(*) AS total FROM table1 WHERE ...
并检查总数是否为非零或执行以下查询更好:
SELECT * FROM table1 WHERE ... LIMIT 1
并检查是否返回任何行?
在两个查询中,WHERE子句均使用索引。
您也可以尝试EXISTS:
EXISTS
SELECT EXISTS(SELECT * FROM table1 WHERE ...)
根据文档,您可以执行SELECT任何操作。
SELECT
传统上,EXISTS子查询以SELECT 开头,但可以以SELECT 5或SELECT column1或任何其他形式开头。 MySQL会忽略此类子查询中的SELECT列表,因此没有区别。*