Каковы различия между обратным ходом и одинарной кавычкой? Могу ли я использовать оператор IF в запросе, как указано выше?

В руководстве codeigniter записывается следующее.

$ this-> db-> select () принимает необязательный второй параметр. Если вы установите значение FALSE, CodeIgniter не будет пытаться защитить ваши имена полей или таблиц с помощью обратных ссылок. Это полезно, если вам нужен составной оператор select.

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

И у меня есть следующий код из одного из приложений CI .

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

Q1. Каковы различия между обратным ходом и одиночной цитатой?

Q2. Могу ли я использовать оператор IF в запросе, как указано выше?

Q3. Что это значит?

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

Related of "Каковы различия между обратным ходом и одинарной кавычкой? Могу ли я использовать оператор IF в запросе, как указано выше?"

  1. В MySQL обращаются к цитатам, а одиночные кавычки создают строки . Если у вас есть столбец с именем select , MySQL будет вызывать синтаксическую ошибку при использовании этого имени без обратных ссылок – например, в SELECT select FROM foo – поскольку он будет интерпретировать его как ключевое слово, которое может не произойти там.

  2. Эта функция IF может использоваться как спецификация столбца в операторах SELECT. См. Ссылку MySQL .

  3. Эта функция возвращает значение из столбца по default , если value – это пустая строка. Иначе он возвращает значение из самого value . Результат будет называться value . Подробнее см. В описании MySQL .