更改其他数据时如何保持日期不变?

Posted

技术标签:

【中文标题】更改其他数据时如何保持日期不变?【英文标题】:how to keep the date unchanged when changing other data? 【发布时间】:2017-12-30 03:15:26 【问题描述】:

我想更新表中的状态列,但消息的日期列也更新了。如何仅在没有日期字段的情况下仅更新状态列?

数据类型:

Status => Varchar
messgae_date => Timestamp

查询:

"UPDATE mytable SET status='1' WHERE status='0'"

感谢之前..

【问题讨论】:

您确定没有触发事件?您发布的内容不会那样做。 我不使用触发器 @Aditya - mytable 是否有 update 触发器? 我不是。我不使用触发器 我认为phpmyadmin中的属性和固有数据类型会影响.. 【参考方案1】:

请编辑您的问题并发布整个 DDL 语句以创建表格。我相信它会变得明显。

您的帖子说 message_date 是一个时间戳。这是 mysql 和 MariaDb 中的一种特殊数据类型,它可以在插入时自动更新,或者在一行中的任何其他数据发生更改时自动更新。

自动更新的列会自动更新为当前 行中任何其他列的值更改时的时间戳 从它的当前值。自动更新的列保持不变,如果 所有其他列都设置为其当前值。为了防止一个 当其他列更改时自动更新列, 将其显式设置为其当前值。更新自动更新 列,即使其他列没有改变,也显式地将其设置为 它应该具有的值(例如,将其设置为 CURRENT_TIMESTAMP)。

再次,请张贴表格 DDL 声明。 message_date 列可能看起来像这样。

`message_date` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP

【讨论】:

以上是关于更改其他数据时如何保持日期不变?的主要内容,如果未能解决你的问题,请参考以下文章

保持某些单元格高度不变,同时更改其他单元格高度

我们如何在电子表格公式中更改列值并保持行不变?

如何将 innerHTML 保存到 Javascript 变量中,以便在更改实际的 innerHTML 时保持不变

我想更改DataGrid选定的行高,而DataGrid中的数据保持不变

转换 SQL Server DATETIME 时出错...如何保持日期不变?

选择器在数据更改时删除选定的段