
# MySQL到DWS实时同步中，同步新增列的DDL时报错怎么办？
#### 问题描述
1. 运行migration mysql2dws链路的实时同步作业，DDL同步中对增加列操作设置为"正常处理"。
2. 在目的端DWS表有数据的场景下，源端MySQL执行DDL语句，添加带非空约束的列，默认值为空字符串，如：alter table test add column t_col varchar(30) not null default ''
3. migration作业产生异常，报错执行DDL失败，失败原因为：column "t_col" contains null values。
#### 原因分析
DWS数据库为oracle兼容模式时，会将空字符串视为NULL做处理，因此在有数据的场景下，不能添加默认值为空串的非空列。
#### 解决方案
1. 修改源端DDL语句，新增列的默认值设置为非空字符串。
2. 如果无法修改DDL，则需要将DWS的数据库更换为mysql兼容模式，建库语句如：create database bigdata with encoding 'UTF-8' dbcompatibility 'mysql' template template0;
