场景描述
这里不全面的讲方法,只是涉及几个常用的Mysql 迁移错误和处理方式,以及最普遍的情况下,我们是怎么从入门到迁移的。
Mysql 自身的“行为方式”本身不太正统,比如大小写不敏感、非SQL 标准的语法支持、SQL 二义性等。如果要在迁移到达梦数据库后,应用是要没问题的,需要注意注意:
如果你不知道是否需要大小写敏感,你是从Mysql 迁移过来的,请把达梦初始化成 大小写不敏感的库。
常见问题处理
1. 无效的数据类型
我好好的一个Mysql 定义,为什么拿到达梦管理工具中,就是报错:无效的数据类型?
请核查字段定义中的 int 类型,是否有精度,如果有,请直接去掉。如:
create table test1(v1 int(10),v2 varchar(20));
需要更改成
create table test1(v1 int,v2 varchar(20);
即 int(10) 需要改成 int , 任何 int 后面的括号,都需要去掉 。
(达梦数据库的int 类型,不需要、也不能设置精度)
2. Default 值的调整
Mysql 的DDL 中,default 字符串,没有带上单引号,这在达梦数据库中是无法识别的,对于这里问题,都需要在单独加上单引号。如:
Create table test2( v1 datetime default 0000-00-00 00:00:00, v2 varchar(20) default N);
需要改成
Create table test2( v1 datetime default '0000-00-00 00:00:00 ', v2 varchar(20) default 'N ');
大家迁移过程中的任何其他问题,也可以留言补充,大家一起不断完善。