【发布时间】:2020-01-30 12:45:09
【问题描述】:
有 MariaDB-10.3.18 表为:
create table switching_log
(
item_name varchar(20) NOT NULL,
switched_off timestamp,
switched_on timestamp
);
select * from switching_log;
+-----------+---------------------+---------------------+
| item_name | switched_off | switched_on |
+-----------+---------------------+---------------------+
| 201197010 | 2019-10-01 08:36:08 | 2019-10-01 08:35:49 |
+-----------+---------------------+---------------------+
当我更新“switched_off”时,“switched_on”不会改变
UPDATE switching_log set switched_off = now() where item_name = '201197010';
select * from switching_log;
+-----------+---------------------+---------------------+
| item_name | switched_off | switched_on |
+-----------+---------------------+---------------------+
| 201197010 | 2019-10-01 08:40:28 | 2019-10-01 08:35:49 |
+-----------+---------------------+---------------------+
但是当我更新“switched_on”时,“switched_off”也更新了。
UPDATE switching_log set switched_on = now() where item_name = '201197010';
select * from switching_log;
+-----------+---------------------+---------------------+
| item_name | switched_off | switched_on |
+-----------+---------------------+---------------------+
| 201197010 | 2019-10-01 08:40:40 | 2019-10-01 08:40:40 |
+-----------+---------------------+---------------------+
【问题讨论】:
-
您使用的是哪个版本的 MySQL?
-
萨尔曼A,MariaDB-10.3.18
-
@harp1814 运行
SHOW CREATE TABLE switching_log。很可能,您在switched_off列上设置了以下属性:ON UPDATE CURRENT_TIMESTAMP -
Madhur Bhaiya,太棒了!你是对的,谢谢!
标签: mysql sql timestamp mariadb