mysql - 在字段名称周围使用反引号

标签 mysql backticks

在这里阅读了一些关于一些 SQL 问题的答案和评论后,还听说我的一个 friend 在一个有禁止它们的政策的地方工作,我想知道在字段周围使用反引号是否有什么问题MySQL 中的名称。

即:

SELECT `id`, `name`, `anotherfield` ...
-- vs --
SELECT id, name, anotherfield ...

最佳答案

使用反引号允许您使用替代字符。在查询写作中这不是一个问题,但如果有人假设你可以只使用反引号,我会假设它可以让你摆脱荒谬的事情,比如

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

这当然会生成命名错误的表。

如果您只是简明扼要,我认为它没有问题, 如果您这样运行查询,您会注意到

EXPLAIN EXTENDED Select foo,bar,baz 

返回的生成警告将带有反引号完全限定的表名。因此,如果您正在使用查询生成功能和查询的自动重写,反引号将使解析代码的任何内容变得不那么困惑。

但是,我认为,与其规定是否可以使用反引号,不如说它们应该有一个名称标准。它解决了更多“真正的”问题。

关于mysql - 在字段名称周围使用反引号,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/261455/

相关文章:

sql - MySQL,获取用户排名

php - 个人资料图片如何工作?

php - 电子邮件验证的标准方法是什么

javascript - PhpStorm - ES6 模板字符串的反引号被破坏

shell - 在 shell 中的双引号字符串中转义反引号

linux - 在 shell 字符串变量中键入反引号

php - 尝试从 Dreamweaver 中的登录信息写入表,结果全部显示为 1

MySQL - 从 3 个表中获取不同值的计数

shell - 如何将 shell 通配符传递给反引号命令

perl - 使用反引号时转义空格