mariadb 当我尝试更新表时,日期值正在更改,但我不想

3j86kqsm  于 2022-11-08  发布在  其他
关注(0)|答案(1)|浏览(124)

我有一个SQL表。例如名为“Fruits”
列:标识、名称、颜色、购买日期时间
当我尝试编辑(手动或使用脚本)水果的颜色时,日期将更改为当前日期时间。我如何更新脚本并保持日期时间不变?

cURRENT SQL=
UPDATE `Fruits` SET `Color`='Red' WHERE `Name`='Apple'

我猜有触发器参与,我使用MariaDB。
我猜一个简单的解决方案,比如先读取购买日期时间的当前结果,进行更新,最后再次覆盖购买日期时间的前一个值:)

flvlnr44

flvlnr441#

除非您定义了触发器,否则您的列很可能被定义为TIMESTAMP而不是DATETIME
默认情况下,MariaDB会自动为第一个时间戳列分配以下值:

  • 插入:当前时间戳
  • 更新:当前时间戳

如果要禁用UPDATE命令的第一个时间戳列的更改,请使用DEFAULT VALUE定义TIMESTAMP,例如

CREATE TABLE mytable (a INT NOT NULL, b TIMESTAMP DEFAULT NOW());

相关问题