2013-07-26 24 views
-4

我想用如下更新查詢來更新一個名爲'Date'的列。 UPDATE db1 SET Date ='20130304'WHERE Date ='3/4/2013';是「日期」在mysql中的關鍵字?

但是更新沒有發生。 「日期」是MySQL中的一個關鍵字嗎?如果是,那麼如何將它包含在查詢中,以便將其視爲變量而不是MySQL的關鍵字。

+0

1.運行此:SELECT COUNT(*)FROM db1 WHERE [Date] ='3/4/2013' - 這會告訴你,如果有任何數據匹配你的where子句。結果評論。這可能是由於Date列的數據類型。也是一個不好的名字。 – andrewb

+0

嗨,這個日期值已經存在, –

+1

https://docs.google.com/file/d/0B779-pgf8mqDV2JPN1RybnlMRE0/edit?usp=sharing 上面給出的查詢是python腳本的一部分,你可以檢查它,如果需要更多信息 –

回答

3

日期是在MySQL

UPDATE db1 SET Date = '20130304' WHERE Date = '3/4/2013'; 

的關鍵詞應該是

UPDATE db1 SET `Date` = '20130304' WHERE `Date` = '3/4/2013'; 
+7

這是錯誤的。 ['MySQL允許一些關鍵字用作未加引號的標識符,因爲很多人以前使用它們。示例如下:ACTION,BIT,DATE,ENUM,NO,TEXT,TIME,TIMESTAMP '](http://dev.mysql.com/doc/refman/5.0/en/reserved-words.html )。 –

-2

使用backtick關鍵字,而不是逃避。就像你如何創建你的餐桌一樣。使用雙引號或單引號將它解析爲string這就是爲什麼你得到的Date

或者

使用體面的列名

-2

最新記錄在數據庫中的保留字,試圖掩蓋它與支架

UPDATE db1 SET [Date] = '20130304' WHERE [Date] = '3/4/2013';