行が見つからない場合でも値を返す
MySQL では、指定された ID の値をフェッチすると、次の場合に空の結果セットが返されることがあります。 IDは存在しません。常に値を取得するには、IFNULL() 関数を利用できます。
IFNULL() 関数は、評価する式と、式が null の場合に返す値の 2 つの引数を取ります。この例では、存在する場合は field1 を返し、存在しない場合は「not found」を返します。
次の構文を使用して、この関数をクエリ全体に適用できます。
SELECT IFNULL( (SELECT field1 FROM table WHERE id = 123 LIMIT 1) ,'not found');
この単一のクエリ ステートメントにより、元のソリューションのように、同じサブクエリを 2 回実行することが回避されます。必要な値を効率的に返し、コードが常に応答するようにします。
以上がMySQL で行が見つからない場合でも値を返すにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。