我有一个架构,如下所示。不允许为空,默认值为CURRENT_TIMESTAMP
。我正在使用休眠模式将此数据插入表中。但是,休眠失败并显示以下错误。在我的DAO中,我没有为updateTime设置任何值。
Error:
Column 'updateTime' cannot be null.
Column Schema:
updateTime timestamp CURRENT_TIMESTAMP on update CURRENT_TIMESTAMP
谢谢
最佳答案
尝试在列定义中添加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
选项的情况下,MySQL服务器在插入过程中会自动填充updateTime
列。有关更多详细信息,请参见this entry of official documentation。