SQL クエリを作成する場合、バックティック ( ) と一重引用符 (' ') の区別を理解することが重要です。 。 MySQL では、バッククォートはテーブルやカラムなどのオブジェクト名をカプセル化しますが、一重引用符は文字列を囲みます。
例:
<code class="sql">SELECT * FROM `users`;</code>
このクエリでは、バッククォートはユーザーを保護します。テーブル名がキーワードとして解釈されないようにします。バッククォートがないと、クエリは構文エラーになります。
IF 関数は、SQL クエリで列の指定として使用できます。条件、真の値、偽の値の 3 つの引数を取ります。
例:
<code class="sql">SELECT IF(value = '', default, value) AS new_value;</code>
このステートメントは、new_value という名前の新しい列を作成します。値の列が空 ('') の場合、新しい列にはデフォルトの値が含まれます。それ以外の場合は、value の値が含まれます。
提供された CodeIgniter コードでは、次のセクションが特に重要です:
<code class="sql">$this->db->select('slug, type, IF(`value` = "", `default`, `value`) as `value`', FALSE);</code>
By select() の 2 番目のパラメータを FALSE に設定すると、CodeIgniter はフィールド名とテーブル名をバッククォートで囲むことを控えます。これが必要なのは、IF 関数では値列をバッククォートなしで指定する必要があるためです。
したがって、クエリは value という名前の新しい列を作成します。
以上がバックティックと一重引用符: SQL でそれぞれをいつ使用する必要がありますか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。