¿Cuáles son las diferencias entre backtick y comillas simples? ¿Puedo usar la statement IF en una consulta como la anterior?

En el manual codeigniter escribe lo siguiente.

$ this-> db-> select () acepta un segundo parámetro opcional. Si lo configura en FALSE, CodeIgniter no intentará proteger los nombres de su campo o tabla con palos de retroceso. Esto es útil si necesita una statement de selección compuesta.

$this->db->select('(SELECT SUM(payments.amount) FROM payments WHERE payments.invoice_id=4) AS amount_paid', FALSE); $query = $this->db->get('mytable'); ... 

Y tengo el siguiente código de una de las aplicaciones de CI .

 $this->db->select('slug, type, IF(`value` = "", `default`, `value`) as `value`', FALSE); 

Q1. ¿Cuáles son las diferencias entre backtick `y single quote ‘?

Q2. ¿Puedo usar la statement IF en una consulta como la anterior?

Q3. ¿Qué significa esto?

 IF(`value` = "", `default`, `value`) as `value` 

  1. En MySQL, los backticks citan nombres , mientras que las comillas simples crean cadenas . Si tiene una columna llamada select , MySQL arrojaría un error de syntax al usar este nombre sin retrocesos, como en SELECT select FROM foo , ya que lo interpretaría como palabra clave que puede no existir allí.

  2. Esta función IF se puede utilizar como una especificación de columna en las instrucciones SELECT. Vea la referencia de MySQL .

  3. Esta función devuelve el valor de la columna default , si value es la cadena vacía. De lo contrario, devuelve el valor del value sí mismo. El resultado se llamará value . Ver la referencia de MySQL para más detalles.

    Intereting Posts