我试图找出表中是否存在行。使用MySQL,最好执行如下查询:
SELECT COUNT(*) AS total FROM table1 WHERE ... 并检查总数是否为非零或执行以下查询更好:
SELECT * FROM table1 WHERE ... LIMIT 1 并检查是否返回任何行?
在两个查询中,WHERE子句均使用索引。
版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。
您也可以尝试EXISTS:
SELECT EXISTS(SELECT * FROM table1 WHERE ...) 根据文档,您可以执行SELECT任何操作。
传统上,EXISTS子查询以SELECT *开头,但可以以SELECT 5或SELECT column1或任何其他形式开头。MySQL会忽略此类子查询中的SELECT列表,因此没有区别。来源:stack overflow