【问题标题】:What's the best way to check row existence in MySQL在 MySQL 中检查行存在的最佳方法是什么
【发布时间】:2014-02-10 16:02:18
【问题描述】:

我需要知道检查一行的最佳方法:

无栏;只有一个数字:

SELECT 1 FROM users WHERE users.id = 1 LIMIT 1

有列和数据库(users.id)

SELECT users.id FROM users WHERE users.id = 1 LIMIT 1

有列无数据库

SELECT id FROM users WHERE id = 1 LIMIT 1

所有领域(显然效率低下):

SELECT * FROM users WHERE users.id = 1 LIMIT 1

并且在使用“exists”这个句子的时候建议使用“limit”这个句子吗?

限制示例:

SELECT products.* FROM products
WHERE EXISTS(
    SELECT 1 FROM users WHERE users.id = products.user LIMIT 1
)

示例不限:

SELECT products.* FROM products
WHERE EXISTS(
    SELECT 1 FROM users WHERE users.id = products.user
)

谢谢!

【问题讨论】:

    标签: mysql sql mariadb sql-standards


    【解决方案1】:

    我会这样做:

    select count(*) records
    from users
    where id = 1
    

    然后我会检查我的应用程序中记录的值。

    【讨论】:

    • 或者更好count(id)
    猜你喜欢
    • 2011-05-25
    • 2012-08-29
    • 1970-01-01
    • 2010-09-18
    • 2012-06-17
    相关资源
    最近更新 更多