Beim Erstellen von SQL-Abfragen ist das Verständnis der Unterscheidung zwischen Backticks ( ) und einfachen Anführungszeichen ('') von entscheidender Bedeutung . In MySQL kapseln Backticks Objektnamen wie Tabellen und Spalten, während einfache Anführungszeichen Zeichenfolgen einschließen.
Beispiel:
<code class="sql">SELECT * FROM `users`;</code>
In dieser Abfrage schützen Backticks die Benutzer dass der Tabellenname nicht als Schlüsselwort interpretiert wird. Ohne Backticks würde die Abfrage zu einem Syntaxfehler führen.
Die IF-Funktion kann in SQL-Abfragen als Spaltenspezifikation verwendet werden. Es werden drei Argumente benötigt: eine Bedingung, ein wahrer Wert und ein falscher Wert.
Beispiel:
<code class="sql">SELECT IF(value = '', default, value) AS new_value;</code>
Diese Anweisung erstellt eine neue Spalte mit dem Namen new_value. Wenn die Wertespalte leer ist (''), enthält die neue Spalte den Standardwert. Andernfalls enthält es den Wert von value.
Im bereitgestellten CodeIgniter-Code ist der folgende Abschnitt von besonderem Interesse:
<code class="sql">$this->db->select('slug, type, IF(`value` = "", `default`, `value`) as `value`', FALSE);</code>
Von Wenn CodeIgniter den zweiten Parameter von select() auf FALSE setzt, verzichtet CodeIgniter darauf, Feld- und Tabellennamen in Backticks zu verpacken. Dies ist notwendig, da die IF-Funktion erfordert, dass die Wertespalte ohne Backticks angegeben wird.
Daher erstellt die Abfrage eine neue Spalte mit dem Namen value:
Das obige ist der detaillierte Inhalt vonBackticks vs. einfache Anführungszeichen: Wann sollten Sie beide in SQL verwenden?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!