所以我知道如何检查一组数据中存在的行。但是我发现很多例子都需要选择一行和一堆字段 - 在这种情况下我不需要这样做。
在我的情况下,我只需知道它存在。我想知道是否有办法在没有selecting/getting
行的情况下检查行是否存在,因为那些冗余数据是什么?
如果不是,我将坚持使用我的SELECT id
方法,但想知道我是否错过了一个更好的方法来ping一行的存在。
目前我在做:
SELECT uid FROM users WHERE sessionID = ? AND uid = ?
然后我检查行数是否= = 1之后。但我仍然不必要地获得{技术上已经拥有的uid
。这似乎效率低下。那么也许mySQL内置了更好的方法?
答案 0 :(得分:4)
你可以这样做:
select (exists (select 1 from t) ) as exists_flag
如果行存在则返回1,如果不存在行则返回0。如果需要特定行,可以向子查询添加where
子句。