使用INSERT ... SELECT将数据类型从unix时间戳更改为mysql datetime

时间:2012-12-10 11:17:39

标签: mysql

我必须修复一个表,其中日期和时间存储为unix时间戳。我想将当前格式转换为mysql datetime类型,同时保留原始列。 (正在运行的系统,有点像心脏直视手术)。

我已经制作了当前表的副本,并希望FROM_UNIXTIMESTAMP将值插入到原始表中的匹配行中。我的陈述可能在正确的轨道上,但我无法让它发挥作用。

INSERT INTO signup (add_time) SELECT FROM_UNIXTIME(addtime) FROM signup_backup WHERE signup.UID = signup_backup.UID;

这是我目前的方法,但我得到了未知的专栏,我知道为什么,但我无法弄清楚如何修复语句的语法。

1 个答案:

答案 0 :(得分:0)

为什么使用INSERT?我想你应该使用UPDATE:

UPDATE signup LEFT JOIN signup_backup ON signup.UID= signup_backup.UID
SET signup.add_time = FROM_UNIXTIME(signup_backup.addtime)