时间:2021-07-01 10:21:17 帮助过:86人阅读
使用SQLyog倒数据库表时,如果是从sqlserver向mysql导入,那么遇到datetime类型的字段,SQLyog会把datetime转换为timestamp。 而mysql的timestamp时间范围是'1970-01-01 08:00:01' and '2038-01-19 11:14:07'。 这样,sqlserver中'1900-01-01 00:00:00'的日
使用SQLyog倒数据库表时,如果是从sqlserver向mysql导入,那么遇到datetime类型的字段,SQLyog会把datetime转换为timestamp。
而mysql的timestamp时间范围是'1970-01-01 08:00:01' and '2038-01-19 11:14:07'。
这样,sqlserver中'1900-01-01 00:00:00'的日期到了mysql就变成'0000-00-00 00:00:00',数据被强制转换。
如果不想被强制转换,就得在表导入mysql前,手动调整为datetime,如果datetime字段较多,一个个去调整那太麻烦了。
可是SQLyog又没有可以统一设置的地方,这时,使用下面方法可以满足要求:
使用SQLyog的Import External Data工具
1、创建一个job file。“start a new job”->一系列配置步骤可以参考网上教程->勾选要导入的表->Run immediately取消选中,选中saving options,save job file->把job file存放本地
2、编辑该job file,批量替换timestamp为datetime。
3、使用该job file进行导入。重新打开Import External Data工具,使用Edit a saved job选择job file导入