如何将mysql数据库的表中字段类型为int(存放时间戳)改为datetime类型,并保证数据不知丢

最好使用脚本,不使用PHP程序。
2024-11-22 18:20:24
推荐回答(2个)
回答1:

稳妥的办法,
表不大的话,百万行以内,先建立一张表.加table_bak.将数据原封不动的倒过去.
然后修改原来的表.新建一个datetime字段
然后
UPDATE 表 set 新建的datetime字段= FROM_UNIXTIME('原来的时间字段') where id="指定一个ID";
先实验下,没问题把where条件去掉.
然后你新的字段不就是datetime字段了么
这个时候alert下表,吧新字段改成旧字段的名字,就字段加个_bak什么的 不就完成了么.
如果中途有错误,你还有备份.

回答2:

你先创建一个表,将int修改date类型后的;将数据导到该表中,并比较确认结果。确认无误后,将原表对应列数据修改为NULL值,修改类型后,用update 将字段设置为正确的值。