MySQL与Doris字段类型映射
Migration会根据源端的字段类型按默认规则转换成目的端字段类型,并以此完成自动建表和实时同步。
字段类型映射规则
当源端为MySQL,目的端为Doris时,支持的字段类型请参见下表,以确保数据完整同步到目的端。
类别 |
数据类型(MySQL) |
数据类型(Doris) |
说明 |
---|---|---|---|
字符串 |
CHAR(M) |
CHAR(3M) |
- |
VARCHAR(M) |
VARCHAR(3M) |
- |
|
数值 |
BOOLEAN |
BOOL |
- |
TINYINT |
SMALLINT |
TINYINT(1)默认会转成BOOLEAN类型,可通过在管理中心MySQL数据连接中添加“连接属性”使其仍保持转成TINYINT(1): tinyInt1isBit = false。 |
|
TINYINT UNSIGNED |
SMALLINT |
- |
|
SMALLINT |
SMALLINT |
- |
|
SMALLINT UNSIGNED |
INTEGER |
- |
|
MEDIUMINT |
INTEGER |
- |
|
MEDIUMINT UNSIGNED |
INTEGER |
- |
|
INT |
INTEGER |
- |
|
INT UNSIGNED |
BIGINT |
- |
|
BIGINT |
BIGINT |
- |
|
BIGINT UNSIGNED |
LARGEINT |
- |
|
REAL |
DOUBLE |
- |
|
DECIMAL(M,D) |
DECIMAL(M,D) |
1、doris版本<1.2.1,当M大于27时,会转成TEXT;当D大于9时,会转成TEXT。 2、doris版本≥1.2.1,当M大于38时,会转成TEXT。 |
|
NUMERIC(M,D) |
NUMERIC(M,D) |
- |
|
FLOAT(M,D) |
FLOAT |
- |
|
DOUBLE(M,D) |
DOUBLE |
- |
|
DOUBLE PRECISION |
DOUBLE |
- |
|
位 |
BIT(M) |
BOOL |
- |
日期时间 |
DATE |
DATE |
- |
TIME |
TEXT |
- |
|
DATETIME |
DATETIME |
- |
|
TIMESTAMP |
DATETIME |
- |
|
YEAR(M) |
TEXT |
- |
|
多媒体(二进制) |
BINARY(M) |
TEXT |
- |
VARBINARY(M) |
TEXT |
- |
|
TEXT |
TEXT |
- |
|
TINYTEXT |
TEXT |
- |
|
MEDIUMTEXT |
TEXT |
- |
|
LONGTEXT |
TEXT |
- |
|
BLOB |
TEXT |
- |
|
TINYBLOB |
TEXT |
- |
|
MEDIUMBLOB |
TEXT |
- |
|
LONGBLOB |
TEXT |
- |
|
特殊类型 |
SET |
TEXT |
- |
JSON |
JSON |
- |
|
ENUM |
TEXT |
- |