mysql - mysql:更新某些记录时如何忽略“更新时”?
问题描述
定义表时,该字段具有update_at timestamp ON UPDATE CURRENT_TIMESTAMP
属性。但现在我想更新一些列而不是修改 update_at。如何忽略影响on update
?
解决方案
请注意针对您的特定用例正确地进行测试,但我只是用自己的方式进行了一些测试,以下内容适用于您所描述的内容。
ALTER TABLE `test`
ALTER `timestamp` DROP DEFAULT;
ALTER TABLE `test`
CHANGE COLUMN `timestamp` `timestamp` TIMESTAMP NULL AFTER `value`;
然后进行更新...
要改回使用:
ALTER TABLE `test`
CHANGE COLUMN `timestamp` `timestamp` TIMESTAMP NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP AFTER `value`;
这保留了较早的时间戳,而不会更改或丢失任何时间戳。
推荐阅读
- c# - 如何将静态属性转换为 C# 中的 const 属性?
- sql-server - SQL Server 如何知道我的数据库用户是否可以访问另一个数据库中的资源?
- windows - 接收来自渲染器的消息超时:600.000 with Chrome v73.0, ChromeDriver 2.46 on Bamboo Server
- c++ - 参数 'QueueContents' 阴影模板参数模板类 QueueType
- ibm-cloud-private - 在 DMZ 中运行 ICP 集群的所有部分是否有任何建议
- c# - 如何从 GCODE 正确使用 C# 中的 DrawArc?
- javascript - 更改输入字段
- javascript - 如何检查是否有人允许在网页上推送通知?
- c# - 如何使用 C# 查询 MongoDB 集合中的数组内部?
- kotlin - 无需 getter 直接从 Java 访问 kotlin 公共字段