今天一朋友网站需要将asp转php程序。php程序都快完成了。请我将原access数据库转为mysql数据库。这数据库转换原本是很简单的事情,现有成熟的软件也挺多。我用的是Access2MySQL Pro 5.7.1。先将access中数据表调整为与现有网站的mysql数据库一致。然后直接开转。貌似一切很顺利。打开网站查看的时候,突然才发现时间不对。进mysql数据库一看,原来access中时间格式为2012-06-07 20:20:20,转换到mysql直接成了2012了。我了个去。才发现mysql中储存时间用的是int(10),难怪出错。这要如何是好呢?问题来了自然有解决办法。我的做法如下:
将mysql的时间数据库时间字段直接修改为varchar(100),然后将数据库转换过来,转换完成后mysql的数据类似这样:2012-06-07 20:20:20,为了使用int(10)这样储存时间戳,还需要将时间字段更新一下,使用类似如下语句:
update `table` set `t`= UNIX_TIMESTAMP(`t`);
这样就将mysql中日期时间直接转换成了时间错,再修改mysql数据结构,将时间字段改成int(10),至此,access数据库中时间转mysql时间戳完成。
最后,附带一句mysql替换部分关键词的语句:
UPDATE `table` SET `f1`=REPLACE(`f1`, 'abc', 'def');
此语句功能就不说了,与主题没任何关系,纯属记录。就这样吧,就这样了。