
# U0400025：GaussDB 不支持 SET 数据类型
#### 描述
**数据库类型与版本**
- 源库类型与版本：MySQL 5.5、5.6、5.7、8.0版本。
- 目标库类型与版本：GaussDB 集中式版 B 兼容模式 V2.0-3.1 及之前版本，M 兼容模式 V2.0-8.100 版本，GaussDB 分布式版。
**语法示例**
如下示例建表语句中使用了 SET 数据类型，当选择了上述不支持 SET 数据类型版本的 GaussDB 时，UGO 将提示此错误。
```
CREATE TABLE set_test (
    id int NOT NULL PRIMARY KEY,
    set_test set('A', 'B', 'C') DEFAULT NULL
);
```
#### 改造建议
修改"set数据类型转换"转换配置项，可以选择将SET类型转换为VARCHAR类型，并可以选择是否添加触发器来实现数据校验。请注意，不添加触发器的情况下需要业务端保证数据完整性约束；添加触发器的情况下可能会影响使用性能，并提升数据库系统的维护难度，需要您充分评估业务影响。
请注意，默认情况下，上述示例在MySQL中，允许set_test字段的值为小写'a', 'b', 'c'以及空串，这在GaussDB B兼容模式中是不允许的，M兼容模式和MySQL一致。大小写是否敏感与数据库大小写默认行为有关，详情请参考[U0400023](https://support.huaweicloud.com/usermanual-ugo/ugo_conv_01_0059.html)。
