行が見つからない場合でも値を返す
MySQL では、指定された ID の値をフェッチすると、次の場合に空の結果セットが返されることがあります。 IDは存在しません。常に値を取得するには、IFNULL() 関数を利用できます。
IFNULL() 関数は、評価する式と、式が null の場合に返す値の 2 つの引数を取ります。この例では、存在する場合は field1 を返し、存在しない場合は「not found」を返します。
次の構文を使用して、この関数をクエリ全体に適用できます。
SELECT IFNULL( (SELECT field1 FROM table WHERE id = 123 LIMIT 1) ,'not found');
この 1 つのクエリ ステートメントにより、元のソリューションのように、同じサブクエリを 2 回実行することが回避されます。必要な値を効率的に返し、コードが常に応答するようにします。
免責事項: 提供されるすべてのリソースの一部はインターネットからのものです。お客様の著作権またはその他の権利および利益の侵害がある場合は、詳細な理由を説明し、著作権または権利および利益の証拠を提出して、電子メール [email protected] に送信してください。 できるだけ早く対応させていただきます。
Copyright© 2022 湘ICP备2022001581号-3