mysql - 将 datetime 列转换为 timestamp
mysql - 将 datetime 列转换为 timestamp
我正在尝试将数据库中的datetime列转换为timestamp,以避免数据丢失。我按照这个答案进行操作:批量转换和更新datetime列值为UNIX时间戳?,但是当我想执行以下操作时:
UPDATE `members` SET `new_join_date` = UNIX_TIMESTAMP(`join_date`), `new_last_visit` = UNIX_TIMESTAMP(`last_visit`);
我遇到了这个错误:
#1292 - 'new_join_date'列的'1376833381'值不正确
完整的转换查询如下:
ALTER TABLE `members` ADD COLUMN `new_join_date` TIMESTAMP NULL AFTER `join_date`, ADD COLUMN `new_last_visit` TIMESTAMP NULL AFTER `last_visit`; UPDATE `members` SET `new_join_date` = UNIX_TIMESTAMP(`join_date`), `new_last_visit` = UNIX_TIMESTAMP(`last_visit`); ALTER TABLE `members` DROP `join_date`; ALTER TABLE `members` DROP `last_visit`; ALTER TABLE `members` CHANGE `new_join_date` `join_date` TIMESTAMP NOT NULL DEFAULT CURRENT_TIMESTAMP; ALTER TABLE `members` CHANGE `new_last_visit` `last_visit` TIMESTAMP NOT NULL DEFAULT CURRENT_TIMESTAMP;