如何防止预准备语句更新TIMESTAMP列?

时间:2016-07-19 00:08:31

标签: java mysql database

我的表中有一个TIMESTAMP列,用于存储用户的注册日期,当我从Java应用程序注销时,我有一个准备好的语句REPLACE查询更新除TIMESTAMP之外的所有内容。但是,TIMESTAMP的默认值是CURRENT_TIMESTAMP,这使得它设置为我不想要的当前时间。如果我将默认值设置为null,它将保存为NULL,如果我没有设置默认值,它将抛出SQL异常。

如何使预备语句完全忽略该列?

1 个答案:

答案 0 :(得分:2)

如果希望时间戳保持其当前值,则必须使用UPDATE(而不是REPLACE)或让REPLACE触发器执行读取 - 修改 - 写入,获取时间戳的当前值,然后写入回到新纪录。