Используя обратные галочки вокруг имен полей

171
задан Blaszard 6 January 2017 в 14:02
поделиться

6 ответов

Используя обратные галочки разрешает Вам использовать альтернативные символы. В запросе, пишущий это не такая проблема, но если бы Вы предполагаете, что можно просто использовать обратные галочки, я предположил бы, что это позволяет Вам сойти с рук смешной материал как

SELECT `id`, `my name`, `another field` , `field,with,comma` 

, Который действительно, конечно, генерирует плохо названные таблицы.

, Если Вы просто кратки, я не вижу проблемы с ним, Вы отметите, выполняете ли Вы свой запрос как таковой

EXPLAIN EXTENDED Select foo,bar,baz 

сгенерированное предупреждение, которое возвращается, будет иметь обратные галочки и полностью определенные имена таблиц. Таким образом, если бы Вы используете функции поколения запроса и автоматизированную перезапись запросов, обратные галочки сделали бы что-либо анализирующее Ваш код менее запутанный.

я думаю однако, вместо того, чтобы передать под мандат, можно ли использовать обратные галочки, у них должен быть стандарт для имен. Это решает более 'реальные' проблемы.

151
ответ дан John Topley 23 November 2019 в 20:44
поделиться

Единственная проблема с обратными галочками состоит в том, что они не совместимый ANSI SQL, например, они не работают в SQL Server.

, Если бы существует шанс, необходимо было бы портировать SQL на другую базу данных, использовать двойные кавычки.

57
ответ дан Alexander Kojevnikov 23 November 2019 в 20:44
поделиться

Мне это имеет много смысла использовать их в любом случае при контакте с именами полей.

  • Во-первых, как только Вы вырабатываете привычку, не повреждает просто нажимать клавишу обратной галочки.
  • , Во-вторых, мне, это облегчает видеть то, что точно является полями в Вашем запросе, и что является ключевыми словами или методами.
  • Наконец, это позволяет Вам использовать безотносительно имени поля, которого Вы желаете при разработке таблицы. Иногда это имеет много смысла назвать поле "ключом", "порядком" или "значениями"..., все из которых требуют обратных галочек при обращении к ним.
44
ответ дан nickf 23 November 2019 в 20:44
поделиться

Обратные галочки не являются частью стандартного ANSI SQL. От mysql руководство :

, Если режим ANSI_QUOTES SQL включен, это также допустимо для заключения в кавычки идентификаторов в двойных кавычках

Поэтому, если Вы используете обратные галочки и затем решаете переехать от MySQL, у Вас есть проблема (хотя у Вас, вероятно, есть намного большие проблемы также)

25
ответ дан Greg 23 November 2019 в 20:44
поделиться

Нет ничего плохого, если Вы продолжаете использовать MySQL, кроме, возможно, визуального fuziness запросов. Но они действительно позволяют использование зарезервированных слов или встроенных пробелов как имена таблиц и имена столбцов. Это нет - нет с большинством механизмов базы данных и предотвратит любую миграцию в более позднее время.

Что касается легкого чтения, многие люди используют ограничения для ключевых слов SQL, например,

SELECT some_fied, some_other_field FROM whatever WHERE id IS NULL;
9
ответ дан Christian Lescuyer 23 November 2019 в 20:44
поделиться

Ну, насколько я знаю, целая цель использовать обратные галочки так, можно использовать имена, которые совпадают с зарезервированными словами. Так, если имя не сталкивается с зарезервированным словом, я не вижу оснований для использования обратных галочек. Но, это не причина запретить их, также.

3
ответ дан Chris Jester-Young 23 November 2019 в 20:44
поделиться
Другие вопросы по тегам:

Похожие вопросы: