我希望将mysql列从tinyint(1)转换为时间戳,我只是将其用作布尔值,但是我希望通过在为true时在行中插入日期来保留现有数据。
那么,我可以在考虑现有数据的同时更改表列吗?
我可以通过添加另一个列并移动数据来实现这一点,但是在alter查询中能做到这一点吗?
发布于 2015-03-02 19:51:00
如果我没理解错的话,这样的东西应该可以用。
ALTER TABLE "<table>" ADD COLUMN "<timestampcolumn>" datetime;
UPDATE "<table>" SET "<timestampcolumn>" = now() WHERE "<tinyintcolumn>" = 1;
ALTER TABLE "<table>" DROP COLUMN "<tinyintcolumn>"重要的是,您不能将时间戳保存到tinyint中,因此必须为您的时间戳添加新列。
https://stackoverflow.com/questions/28808671
复制相似问题