每日提示:使用backticks
,就像老板!即使在你的笔迹!为什么我可以创建名为“key”和“value”的表列,但以后我不能使用它们?
更新:如果你采取上述建议,你不需要阅读以下内容!认真!
问题: 我对此有点恼火。我可以创建一个包含名为key
和value
的列的表,但是当我想要使用这些列时,我将看到一个很好的语法错误,解释这些错误是MySQL的reserved keywords
。
我的问题是:有人知道为什么它是这样吗?为什么我一开始没有收到语法错误?是否有任何理由支持?
每日提示:使用backticks
,就像老板!即使在你的笔迹!为什么我可以创建名为“key”和“value”的表列,但以后我不能使用它们?
更新:如果你采取上述建议,你不需要阅读以下内容!认真!
问题: 我对此有点恼火。我可以创建一个包含名为key
和value
的列的表,但是当我想要使用这些列时,我将看到一个很好的语法错误,解释这些错误是MySQL的reserved keywords
。
我的问题是:有人知道为什么它是这样吗?为什么我一开始没有收到语法错误?是否有任何理由支持?
只有KEY
是保留关键字:D
。
只是包装列名KEY
与反引号,所以你可以使用它,例如
SELECT `key`
FROM tableName
或别名供应表,
SELECT a.key
FROM tableName a
这些都是保留字。如果你用反引号包围它们,那么你可以使用它们。另一方面,对任何类型的表或列使用MySQL的保留字是一个坏主意。 – 2013-03-01 14:21:12
@ N.B。只有'KEY',值不是关键字。 – 2013-03-01 14:21:32
@ N.B。我刚刚意识到,当问题发布! – Mahdi 2013-03-01 14:24:17