0
我想從tinyint(1)轉換一個mysql列,我只是作爲布爾值來使用時間戳,但是我想通過在行中插入日期來保留現有數據。Mysql tinyint到datestamp
那麼我可以在考慮現有數據的同時更改表格列嗎?
我可以通過添加另一列並移動數據來完成此操作,但是我可以在alter query中執行此操作嗎?
我想從tinyint(1)轉換一個mysql列,我只是作爲布爾值來使用時間戳,但是我想通過在行中插入日期來保留現有數據。Mysql tinyint到datestamp
那麼我可以在考慮現有數據的同時更改表格列嗎?
我可以通過添加另一列並移動數據來完成此操作,但是我可以在alter query中執行此操作嗎?
如果我明白你正確的,這樣的事情應該工作
ALTER TABLE "<table>" ADD COLUMN "<timestampcolumn>" datetime;
UPDATE "<table>" SET "<timestampcolumn>" = now() WHERE "<tinyintcolumn>" = 1;
ALTER TABLE "<table>" DROP COLUMN "<tinyintcolumn>"
,你不能保存時間戳爲TINYINT是很重要的,所以你必須添加一個新列的時間戳。
感謝您的答覆,但我試圖將列數據類型從tinyint更改爲時間戳。 – ShiftyThomas 2015-03-03 13:24:19
這是不可能的。你必須添加一個新的列,填充它,然後刪除舊的。 – frlan 2015-03-03 13:25:38
剛剛更新的答案應該如何工作 – frlan 2015-03-03 13:33:32