問題描述
在這里閱讀了一些關于 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.
這篇關于在字段名稱周圍使用反引號的文章就介紹到這了,希望我們推薦的答案對大家有所幫助,也希望大家多多支持html5模板網!