本文主要是介绍MYSQL迁移至达梦常见问题处理,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!
重点介绍MYSQL迁移至达梦数据库的过程中常见问题的处理方法,希望通过本文,帮助大家获得更好的数据迁移体验。
自增列问题
1、查看MYSQL表结构
2、开始迁移:先迁移表结构
在迁移数据时,选项如下
3、查看结果
迁移完成,查看结果是否正确。
mysql数据如下
达梦数据如下
可以发现自增列上数据有出入
4、重新进行迁移
迁移数据
选中 启用标志列插入
迁移完成
5、查看数据
数据和MYSQL一致。
默认值为时间的问题
1、情况说明:
MYSQL从5.7后的版本设置默认值为’0000-00-00’,出现异常:Invalid default value for ‘create_time’
NO_ZERO_IN_DATE:
在严格模式下,不允许日期和月份为零
NO_ZERO_DATE:
设置该值,mysql数据库不允许插入零日期,插入零日期会抛出错误而不是警告。
2、解决办法:
通过select @@sql_mode;查询当前mode
SET GLOBAL sql_mode=‘ONLY_FULL_GROUP_BY,STRICT_TRANS_TABLES,ERROR_FOR_DIVISION_BY_ZERO,NO_AUTO_CREATE_USER,NO_ENGINE_SUBSTITUTION’;
需要退出,重新登陆mysql生效
create table t2
(id int not null,
name varchar(20) not null,
phone int,
createtime datetime DEFAULT "0000-00-00 00:00:00");
创建测试数据
进行迁移
错误号: -2670
错误消息: 对象[CREATETIME]DEFAULT约束表达式无效
CREATE TABLE “SYSDBA”.“T2”
(“ID” INT NOT NULL,
“NAME” VARCHAR(20) NOT NULL,
“PHONE” INT NULL,
“CREATETIME” TIMESTAMP(0) DEFAULT ‘0000-00-00 00:00:00’ NOT NULL
)
因为DM默认会对事件类型数据进行检查
0000-00-00这种数据明显是不存在的
将default的值进行修改,修改为合理时间均可进行创建
迁移数据由于数据问题,仍是迁移不了,需要从源库MYSQL上进行数据修改。
修改mysql数据
重新迁移
查看数据。
这篇关于MYSQL迁移至达梦常见问题处理的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!