我有一个统计数据表和一个名为Time的字段与Unix Timestamps.
表中有大约200行,但是我想将Unix时间戳更改为MysqL DATETIME,而不会丢失当前行.当前表:
CREATE TABLE `stats` ( `id` int(11) unsigned NOT NULL auto_increment,`time` int(11) NOT NULL,`domain` varchar(40) NOT NULL,`ip` varchar(20) NOT NULL,`user_agent` varchar(255) NOT NULL,`domain_id` int(11) NOT NULL,PRIMARY KEY (`id`) ) ENGINE=MyISAM DEFAULT CHARSET=utf8
所以时间(INT)应该是DATETIME字段.
如何将Unix Timestamp更新为MysqL的DATETIME?
记住在使用它之前测试它是真实的,这是从内存写的,但应该给你一个好主意.
ALTER TABLE `stats` CHANGE `time` `unix_time` int(11) NOT NULL // rename the old column ALTER TABLE `stats` ADD `time` DATETIME NOT NULL // create the datetime column UPDATE `stats` SET `time`=FROM_UNIXTIME(unix_time) // convert the data ALTER TABLE `stats` DROP `unix_time` // drop the old unix time column
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。