小编典典

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

mysql

在阅读了一些有关SQL问题的答案和评论,并听到我的一个朋友在一个禁止他们使用的政策的地方工作之后,我想知道在MySQL的字段名周围使用反引号是否有问题。

那是:

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

阅读 252

收藏
2020-05-17

共1个答案

小编典典

使用反引号允许您使用其他字符。在查询编写中,这不是问题,但是如果假设您可以使用反引号,那么我认为它可以让您摆脱诸如

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

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

如果您只是为了简洁起见,我认为它没有问题,那么您会注意是否按如下方式运行查询

EXPLAIN EXTENDED Select foo,bar,baz

返回的生成警告将带有反引号 完全限定的表名。因此,如果您使用查询生成功能和自动重写查询功能,则反引号会使解析您的代码的任何事情都不会那么混乱。

不过,我认为,与其强制要求您是否可以使用反引号,不如说它们应该有一个名称标准。它解决了更多的“实际”问题。

2020-05-17