每日提示:使用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