Java 如何防止准备好的语句更新时间戳列?

Java 如何防止准备好的语句更新时间戳列?,java,mysql,database,Java,Mysql,Database,我的表中有一个TIMESTAMP列,它存储用户的注册日期,当我从Java应用程序注销时,我有一个准备好的语句REPLACE query更新除时间戳之外的所有内容。然而,时间戳的默认值是CURRENT_TIMESTAMP,这使得它将其设置为我不想要的当前时间。如果我将默认值设置为null,它将另存为null,如果我没有设置默认值,它将抛出SQL异常 如何使准备好的语句完全忽略该列?如果希望时间戳保持其当前值,则必须使用更新(而不是替换)或让替换触发器执行读-修改-写操作,获取时间戳的当前值,然后将

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


如何使准备好的语句完全忽略该列?

如果希望时间戳保持其当前值,则必须使用更新(而不是替换)或让替换触发器执行读-修改-写操作,获取时间戳的当前值,然后将其写回新记录。

替换不更新。它删除旧的行并插入一个新的行,该行获取默认值。您应该为此使用更新。谢谢您的帮助!:)谢谢你的帮助!:)