2013-03-01 69 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

相關問題