更新时间:2025-10-17 GMT+08:00

MySQL迁移到DWS的数据类型映射

表1 MySQL迁移到DWS的数据类型映射关系

MySQL数据类型

DWS数据类型

是否支持映射

BIT[(M)]

BIT

支持

TINYINT[(M)]

SMALLINT

支持

TINYINT[(M)] [UNSIGNED]

SMALLINT

支持

SMALLINT[(M)]

SMALLINT

支持

SMALLINT[(M)] [UNSIGNED]

INTEGER

支持

MEDIUMINT[(M)]

INTEGER

支持

MEDIUMINT[(M)][UNSIGNED]

INTEGER

支持

INT[(M)]

INTEGER

支持

INT[(M)] [UNSIGNED]

BIGINT

支持

BIGINT[(M)]

BIGINT

支持

BIGINT[(M)] [UNSIGNED]

NUMERIC

支持

DECIMAL[(M[,D])]

SMALLINT / INTEGER / BIGINT / NUMERIC

根据精度和标度找到合适的数据类型。

支持

FLOAT(p)

FLOAT4

支持

DOUBLE[(M,D)]

FLOAT8

支持

DATE

DATE

支持

DATETIME[(fsp)]

TIMESTAMP

支持

TIMESTAMP[(fsp)]

TIMESTAMP WITH TIME ZONE

支持

TIME[(fsp)]

TIME

支持

YEAR[(4)]

SMALLINT

支持

CHAR[(M)]

CHAR

支持

VARCHAR(M)

CHARACTER VARYING()

根据源库列字符集,在目标库扩大相应倍数。

支持

BINARY[(M)]

BYTEA

支持

VARBINARY(M)

BYTEA

支持

TINYBLOB

BLOB

支持

TINYTEXT

TEXT

支持

BLOB

BLOB

支持

TEXT

TEXT

支持

MEDIUMBLOB

BLOB

支持

MEDIUMTEXT

TEXT

支持

LONGBLOB

BLOB

支持

LONGTEXT

TEXT

支持

ENUM

VARCHAR

支持

SET

VARCHAR

支持

JSON

JSONB

支持

  • DATE类型,MySQL的支持的范围是:'1000-01-01' to '9999-12-31'。

    DATETIME类型,MySQL的支持的范围是:'1000-01-01 00:00:00' to '9999-12-31 23:59:59'。

    TIMESTAMP类型,MySQL的支持的范围是:'1970-01-01 00:00:01' UTC to '2038-01-19 03:14:07' UTC。

    可参考MySQL的官方文档。

  • TIME类型,MySQL的支持的范围是:'-838:59:59' to '838:59:59',可参考MySQL的官方文档。而GaussDB(DWS)的TIME类型的最小值:00:00:00,最大值:24:00:00。对于MySQL中小于00:00:00,或大于24:00:00的TIME类型的值,任务会同步失败。
  • YEAR类型,MySQL的支持的范围是:1901 to 2155, 和 0000,可参考MySQL的官方文档。由于GaussDB(DWS)中没有对应的类型,会将MySQL的YEAR类型映射成SMALLINT类型。
  • 对于MySQL的DATE类型的'0000'任务会同步失败。
  • 对于INT类型,如果该列含有自增属性(AUTO_INCREMENT)时,同步时会将设置该属性的字段同步为SERIAL类型。