MySQL テーブルに行が存在するかどうかをテストする最良の方法 質問する

MySQL テーブルに行が存在するかどうかをテストする最良の方法 質問する

テーブルに行が存在するかどうかを確認しようとしています。MySQL を使用する場合、次のようなクエリを実行する方がよいでしょうか。

SELECT COUNT(*) AS total FROM table1 WHERE ...

合計がゼロでないかどうかを確認します。または、次のようなクエリを実行する方がよいでしょう。

SELECT * FROM table1 WHERE ... LIMIT 1

行が返されたかどうかを確認しますか?

どちらのクエリでも、WHERE 句はインデックスを使用します。

ベストアンサー1

以下も試すことができますEXISTS:

SELECT EXISTS(SELECT * FROM table1 WHERE ...)

そしてドキュメント、何でもできますSELECT

従来、EXISTS サブクエリは SELECT * で始まりますが、SELECT 5 や SELECT column1 など、任意の文字で始まることもできます。MySQLはこのようなサブクエリの SELECT リストを無視するため、違いはありません。

おすすめ記事