列不能为null(MySQL和Hibernate)

时间:2013-07-16 08:21:21

标签: mysql hibernate

我有一个包含如下列的模式。不允许为空,默认值为CURRENT_TIMESTAMP。我正在使用hibernate将数据插入到此列的表中。但是,hibernate失败并出现以下错误。在我的DAO中,我没有为updateTime设置任何值。

Error:
Column 'updateTime' cannot be null. 

Column Schema:
updateTime  timestamp CURRENT_TIMESTAMP on update CURRENT_TIMESTAMP

由于

1 个答案:

答案 0 :(得分:-1)

尝试在列定义中添加DEFAULT CURRENT_TIMESTAMP选项,以达到以下目的:

updateTime TIMESTAMP DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP

您可以使用以下DDL查询来执行此操作:

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

或者只是放下并重新创建你的桌子。

DEFAULT CURRENT_TIMESTAMP选项updateTime的情况下,在MySQL服务器插入期间将自动填充列。有关详细信息,请参阅this entry of official documentation