我必须修复一个表,其中日期和时间存储为unix时间戳。我想将当前格式转换为mysql datetime类型,同时保留原始列。 (正在运行的系统,有点像心脏直视手术)。
我已经制作了当前表的副本,并希望FROM_UNIXTIMESTAMP将值插入到原始表中的匹配行中。我的陈述可能在正确的轨道上,但我无法让它发挥作用。
INSERT INTO signup (add_time) SELECT FROM_UNIXTIME(addtime) FROM signup_backup WHERE signup.UID = signup_backup.UID;
这是我目前的方法,但我得到了未知的专栏,我知道为什么,但我无法弄清楚如何修复语句的语法。
答案 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)