更新时间: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类型转换”。