我有一个表,其中包含两个时间戳字段 -
CREATE TABLE `test`
(`id` INT NOT NULL AUTO_INCREMENT ,
`first_date` TIMESTAMP NULL ,
`second_date` TIMESTAMP on update CURRENT_TIMESTAMP() NULL ,
PRIMARY KEY (`id`)) ENGINE = InnoDB;
我使用
插入了两行INSERT INTO `test` (`id`, `first_date`, `second_date`)
VALUES (NULL, NULL, '2017-10-18 17:02:14'), (NULL, NULL, '2017-10-18 17:02:14');
现在,我需要将第二个日期值复制到第一个日期列,但是当我尝试更新查询时,两个日期值都会更新为今天的日期。
update test set first_date = second_date where id=<row_id>
id | first_date | second_date
----------------------------------------------
3 | 2017-11-17 16:09:03 | 2017-11-17 16:09:29 --> This value was
4 | NULL | 2017-10-18 17:02:14 "2017-10-18 17:02:14"
5 | NULL | 2017-10-18 17:02:14 before the update query.
不知何故,second_date 的on update CURRENT_TIMESTAMP()
属性在这里产生了问题。如何复制第二列中的值而不影响 second_date
的现有值?
最佳答案
以下查询应帮助您复制第二列中的值,而不影响 secondary_date 的现有值:
UPDATE test SET first_date = second_date , second_date = second_date WHERE id=<row_id>
关于php - 将时间戳值从一列复制到另一列失败,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47348852/