开发者社区 问答 正文

测试MySQL表中是否存在行的最佳方法

我试图找出表中是否存在行。使用MySQL,最好执行如下查询:

SELECT COUNT(*) AS total FROM table1 WHERE ... 并检查总数是否为非零或执行以下查询更好:

SELECT * FROM table1 WHERE ... LIMIT 1 并检查是否返回任何行?

在两个查询中,WHERE子句均使用索引。

展开
收起
保持可爱mmm 2020-05-10 18:56:47 448 分享 版权
1 条回答
写回答
取消 提交回答
  • 您也可以尝试EXISTS:

    SELECT EXISTS(SELECT * FROM table1 WHERE ...) 根据文档,您可以执行SELECT任何操作。

    传统上,EXISTS子查询以SELECT *开头,但可以以SELECT 5或SELECT column1或任何其他形式开头。MySQL会忽略此类子查询中的SELECT列表,因此没有区别。来源:stack overflow

    2020-05-10 18:56:59
    赞同 展开评论