2012-12-10 41 views
0

我必須修復一個表,其中日期和時間存儲爲unix時間戳。我想將當前格式轉換爲mysql datetime類型,同時保留原始列。 (在跑步系統上工作,有點像開心手術)。使用INSERT ...將數據類型從unix時間戳更改爲mysql datetime SELECT

我已經制作了當前表的一個副本,並希望使用FROM_UNIXTIMESTAMP將原始表中的值嵌入到匹配的行中。我的發言可能會走在正確的軌道上,但我無法實現。

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

這是我目前的做法,但我得到未知的列,我知道爲什麼,但我無法弄清楚如何修復語句的語法。

回答

0

爲什麼使用INSERT?我想你應該使用更新:

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

啊是的,更新。對不起,我的錯誤。在理論上可以用目標和源是同一個表來執行這個操作嗎? – Flobbo

+0

當然'更新註冊SET add_time = FROM_UNIXTIME(addtime)' – valex

相關問題