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

Using backticks around field names(在字段名称周围使用反引号)
本文介绍了在字段名称周围使用反引号的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着跟版网的小编来一起学习吧!

问题描述

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

After reading a couple of answers and comments on some SQL questions here, and also hearing that a friend of mine works at a place which has a policy which bans them, I'm wondering if there's anything wrong with using backticks around field names in MySQL.

即:

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

推荐答案

使用反引号允许您使用替代字符.在查询编写中,这不是一个问题,但是如果有人假设您可以只使用反引号,我认为它可以让您摆脱诸如

Using backticks permits you to use alternative characters. In query writing it's not such a problem, but if one assumes you can just use backticks, I would assume it lets you get away with ridiculous stuff like

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

这当然会生成名称错误的表.

Which does of course generate badly named tables.

如果你只是简明扼要,我看不出有什么问题,你会注意到你是否这样运行你的查询

If you're just being concise I don't see a problem with it, you'll note if you run your query as such

EXPLAIN EXTENDED Select foo,bar,baz 

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

The generated warning that comes back will have back-ticks and fully qualified table names. So if you're using query generation features and automated re-writing of queries, backticks would make anything parsing your code less confused.

然而,我认为,与其强制您是否可以使用反引号,不如他们应该有一个名称标准.它解决了更多真实"的问题.

I think however, instead of mandating whether or not you can use backticks, they should have a standard for names. It solves more 'real' problems.

这篇关于在字段名称周围使用反引号的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持跟版网!

本站部分内容来源互联网,如果有图片或者内容侵犯了您的权益,请联系我们,我们会在确认后第一时间进行删除!

相关文档推荐

Simulating MySQL#39;s ORDER BY FIELD() in Postgresql(在 Postgresql 中模拟 MySQL 的 ORDER BY FIELD())
Using MySQL query to traverse rows to make a recursive tree(使用MySQL查询遍历行制作递归树)
MySQL LOAD DATA INFILE with ON DUPLICATE KEY UPDATE(MySQL LOAD DATA INFILE 和 ON DUPLICATE KEY UPDATE)
Search for quot;whole word matchquot; in MySQL(搜索“全字匹配在 MySQL 中)
add column to mysql table if it does not exist(如果不存在,则将列添加到 mysql 表)
MIN/MAX vs ORDER BY and LIMIT(MIN/MAX 与 ORDER BY 和 LIMIT)