更新时间:2025-06-04 GMT+08:00
U0400001:GaussDB表属性不支持此字符集
描述
数据库类型与版本
- 源库类型与版本:MySQL 5.5、5.6、5.7、8.0版本。
- 目标库类型与版本:GaussDB所有版本。
语法示例
默认情况下,UGO保留MySQL的字符集不转换,并生成此错误提示。
GaussDB不同版本支持的字符集不同,同时GaussDB不支持给表指定与库不兼容的字符集,如下两个示例:
1、例如在GaussDB V2.0-3.2版本B兼容模式中,不支持gb18030字符集,如下示例将不支持。
CREATE TABLE character_demo(id INT, name VARCHAR(64)) CHARSET gb18030;
2、例如在GaussDB V2.0-8.0分布式版本中,创建一个UTF8编码的数据库,再在该数据库下创建一个指定字符集为gb18030的表,如下示例将不支持。
CREATE DATABASE test DBCOMPATIBILITY = 'MYSQL' ENCODING = 'UTF8'; CREATE TABLE character_demo(id INT, name VARCHAR(64)) CHARSET gb18030;
改造建议
修改“字符集”转换配置项。可以选择注释掉所有的字符集,也可以选择仅注释掉GaussDB不支持的字符集,保留支持的字符集(需要注意这里的支持仅表示GaussDB支持该字符集,并没有判断表与库之间的字符集是否存在冲突)。
建议初始化GaussDB数据库时指定与源库字符集兼容的字符集,迁移过程中注释掉建表语句中的所有字符集,使用GaussDB数据库默认的字符集。如果原有表的字符集与数据库字符集不一致,需要您充分评估风险与影响。更多GaussDB字符集的相关信息请参考《GaussDB开发者指南》。