2013-03-01 36 views
2

每日提示:使用backticks,就像老板!即使在你的笔迹!为什么我可以创建名为“key”和“value”的表列,但以后我不能使用它们?

更新:如果你采取上述建议,你不需要阅读以下内容!认真!

问题: 我对此有点恼火。我可以创建一个包含名为keyvalue的列的表,但是当我想要使用这些列时,我将看到一个很好的语法错误,解释这些错误是MySQL的reserved keywords

我的问题是:有人知道为什么它是这样吗?为什么我一开始没有收到语法错误?是否有任何理由支持?

+5

这些都是保留字。如果你用反引号包围它们,那么你可以使用它们。另一方面,对任何类型的表或列使用MySQL的保留字是一个坏主意。 – 2013-03-01 14:21:12

+1

@ N.B。只有'KEY',值不是关键字。 – 2013-03-01 14:21:32

+0

@ N.B。我刚刚意识到,当问题发布! – Mahdi 2013-03-01 14:24:17

回答

6

只有KEY是保留关键字:D

只是包装列名KEY与反引号,所以你可以使用它,例如

SELECT `key` 
FROM tableName 

或别名供应表,

SELECT a.key 
FROM tableName a 
+0

谢谢!现在我看到'反作用'在现实生活中的作用! – Mahdi 2013-03-01 14:25:37

+1

呵呵如果你不喜欢使用反引号,为表格':D'提供一个别名,否则不要使用关键字。 – 2013-03-01 14:26:50

+1

是的!如果您花费3个小时在世界范围内调试最简单的更新查询而没有取得任何成功,那么您会很乐意在任何地方使用反引号! – Mahdi 2013-03-01 14:31:05

相关问题