ホームページ >データベース >mysql チュートリアル >MySQL でクエリの結果がない場合でも値を返すにはどうすればよいですか?
クエリ結果に関係なく値を返す
データベースをクエリするとき、たとえクエリは結果を生成しません。たとえば、プレースホルダー値を表示したり、データの存在に基づいてさらなる処理を実行したりすることができます。
指定された ID (id) の整数フィールド (field1) を取得することを目的とした次のクエリについて考えてみましょう。 :
SELECT field1 FROM table WHERE id = 123 LIMIT 1;
指定された ID のレコードが存在しない場合、結果セットは空になります。ただし、クエリで値を返す必要がある場合があります。
IFNULL 関数
MySQL は、このシナリオに対処する IFNULL() 関数を提供します。 2 つの引数を取ります:
IFNULL() とサブクエリを組み合わせることで、クエリが常に値を返すようにすることができます。
SELECT IFNULL( (SELECT field1 FROM table WHERE id = 123 LIMIT 1) ,'not found');
このクエリは、指定された ID を持つレコードが見つかった場合は field1 の値を返し、それ以外の場合はフィールド 1 の値を返します。文字列「not found」を返します。
IFNULL() を使用する利点
以上がMySQL でクエリの結果がない場合でも値を返すにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。