我有一個大表DATETIME
列和索引的原因,我想添加一個只包含DATE類型的列。看起來MySQL不能使用下面的表達式來使用索引GROUP BY DATE(datetime)
因此我想添加另一個列和第二個索引。MySQL更新DATETIME到DATE
要更新我用這個簡單的聲明:
UPDATE table SET datecol = DATE(datetimecol)
現在出現一個奇怪的現象:在datecol-column
包含正確的價值觀。但datetimecolumn
也發生了變化:到目前的timestamp
。這是此列的默認值。
我現在工作了很多年,數據庫和MySQL,但我無法解釋這種行爲。
當前版本爲MySQL 5.1.66-0
。
你有什麼建議或解釋嗎?
是,但我不想編輯這個專欄... – sisu
嗯,這個作品!非常感謝:) 但爲什麼MySQL試圖更新這個列呢?對我來說,這並不是我自己的說法。 – sisu
@fire:這在我上面的回答的第一段中沒有解釋(特別是它鏈接到的手冊頁)? – eggyal