我有一个关于mysql查询的简短问题.
什么是正确的?
SELECT * FROM Persons WHERE Year='1965'
Run Code Online (Sandbox Code Playgroud)
要么
SELECT * FROM `Persons` WHERE `Year` = '1965'
Run Code Online (Sandbox Code Playgroud)
这是个人选择还是这是真正的错误?
如果您的标识符(列,表名,运算符等)包含MySQL保留字,则需要引号.
有关保留字的完整列表,请参见此处:http://dev.mysql.com/doc/refman/5.5/en/reserved-words.html
如果你有一个名为表table,或命名列where.这些是保留关键字.如果你在没有反引号的查询中使用它们,它们会产生无效的查询(当然,使用保留关键字是不好的做法).
SELECT something FROM table WHERE where = 1;
Run Code Online (Sandbox Code Playgroud)
与
SELECT something FROM `table` WHERE `where` = 1;
Run Code Online (Sandbox Code Playgroud)