2013-07-16 60 views
0

我有一個類似下面的列的架構。不允許空值,默認值爲CURRENT_TIMESTAMP。我正在使用hibernate將數據插入到此列的表中。然而,休眠失敗,出現以下錯誤。在我的DAO中,我沒有爲updateTime設置任何值。列不能爲空(MySQL和休眠)

Error: 
Column 'updateTime' cannot be null. 

Column Schema: 
updateTime timestamp CURRENT_TIMESTAMP on update CURRENT_TIMESTAMP 

感謝

+0

你知道嗎?突然之間,我們看到了同樣的問題。我們想知道它是否與MySQL 5.6不兼容。 – Gray

+2

Gray,我也發現MySQL 5.6中發生了這個問題。我降級到5.5,我們不再看到這個問題。 –

+0

迷人的@Thakur。我們在工作時遇到了與休眠和5.6類似的問題。 ORMLite應該允許某種機制在特定列上不做插入操作。這是解決方案。 – Gray

回答

-1

嘗試DEFAULT CURRENT_TIMESTAMP選項添加到您的列定義archieve是這樣的:

ALTER TABLE `your_table` MODIFY updateTime TIMESTAMP DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP; 

updateTime TIMESTAMP DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP 

您可以使用以下DDL查詢做或者只是放下並重新創建表格。

DEFAULT CURRENT_TIMESTAMP選項updateTime的情況下,MySQL服務器在插入過程中會自動填充該列。有關更多詳細信息,請參閱this entry of official documentation