更新时间:2024-01-30 GMT+08:00
分享

MySQL->GaussDB

表1 数据类型映射关系

数据类型(MySQL)

数据类型(GaussDB

是否支持映射

CHAR

CHARACTER

支持,如果源库该类型的字段含有占用超过一个字节的字符,需适当增加目标库该字段的长度。

VARCHAR

CHARACTER VARYING()

支持,如果源库该类型的字段含有占用超过一个字节的字符,需适当增加目标库该字段的长度。

BINARY

BYTEA

支持

VARBINARY

BYTEA

支持

TINYBLOB

BYTEA

支持

BLOB

BYTEA

支持

MEDIUMBLOB

BYTEA

支持

LONGBLOB

BYTEA

支持

TINYTEXT

TEXT

支持

TEXT

TEXT

支持

MEDIUMTEXT

TEXT

支持

LONGTEXT

TEXT

支持

ENUM

VARCHAR

支持

SET

VARCHAR

支持

TINYINT

SMALLINT

支持

SMALLINT

SMALLINT

支持

MEDIUMINT

INT

支持

INT

INT

支持

BIGINT

BIGINT

支持

FLOAT

REAL/DOUBLE PRECISION

支持

DOUBLE

DOUBLE PRECISION

支持

DATE

DATE

支持

DATETIME

TIMESTAMP WITHOUT TIME ZONE

支持

TIMESTAMP

TIMESTAMP WITH TIME ZONE

支持

TIME

TIME WITHOUT TIME ZONE

支持

BIT

BIT

支持

JSON

JSON

支持,但是不支持包含BIT类型的JSON。

DECIMAL

NUMERIC

支持

NUMERIC

NUMERIC

支持

  • 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的官方文档

    对于GaussDB而言,0000年,00月,00日是非法时间,DRS会转换成1970-01-01,比如MySQL的DATE类型的'0000-00-00'通过DRS会转换成'1970-01-01';比如MySQL的DATETIME类型或TIMESTAMP类型的'1000-00-31 23:59:59',通过DRS会转换成'1970-01-01 00:00:00'。

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

    相关文档

    相关产品