更新时间:2025-06-04 GMT+08:00
U0400028:GaussDB整数类型不支持ZEROFILL关键字
描述
数据库类型与版本
- 源库类型与版本:MySQL 5.5、5.6、5.7、8.0版本。
- 目标库类型与版本:GaussDB B兼容模式V2.0-8.0版本,M兼容模式V2.0-8.100版本。
语法示例
默认情况下,UGO保留数据类型中的ZEROFILL关键字不转换,并生成此错误提示。
在MySQL中,ZEROFILL用于定义数字类型字段时自动填充前导零。它主要用于整型 类型的列,通常与无符号(UNSIGNED)类型一起使用,因为负数不会被填充零。如下示例所示,在GaussDB版本中不支持。
CREATE TABLE test_table ( id INT NOT NULL PRIMARY KEY, number TINYINT UNSIGNED ZEROFILL );
改造建议
修改“ZEROFILL关键字转换”转换配置项。请注意该配置项控制TINYINT、SMALLINT、MEDIUMINT、INT/INTEGER、BIGINT类型中的ZEROFILL关键字。其它类型的请修改“无符号浮点和定点类型转换”、“FLOAT类型转换”转换配置项。
迁移到GaussDB B兼容模式V2.0-8.0之前的版本时,ZEROFILL关键字的处理不通过单独的配置项控制,相关的转换配置项包括:“TINYINT类型转换”、“无符号整数类型转换”、“FLOAT类型转换”、“DOUBLE类型转换”。