在这里阅读了一些关于一些 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/