更新时间:2024-12-10 GMT+08:00
集合类型
概述
- MySQL ENUM是一个字符串对象,具有从列创建时在列规范中明确枚举的允许值列表中选择的值。
- SET是一个字符串对象,可以有零个或多个值,每个值必须从创建表时指定的允许值列表中选择。
类型对照
MySQL集合类型 |
MySQL INPUT |
GaussDB(DWS) OUTPUT |
---|---|---|
ENUM |
ENUM |
VARCHAR |
SET |
SET |
VARCHAR |
- 对于ENUM的类型转换,将转换为VARCHAR类型,精度大小为枚举值中最长字段长度的4倍,并使用CHECK()函数确保输入枚举值的正确性
- 对于SET的类型转换,将转换为VARCHAR类型,精度大小为各枚举值字段长度与分隔符数量和的4倍。
输入示例ENUM
1 2 3 4 |
CREATE TABLE IF NOT EXISTS `runoob_dataType_test`( id int(2) PRIMARY KEY, `dataType_17` ENUM('dws-1', 'dws-2', 'dws-3') ); |
输出示例
1 2 3 4 5 6 7 8 |
CREATE TABLE IF NOT EXISTS "public"."runoob_datatype_test" ( "id" INTEGER(2) PRIMARY KEY, "datatype_17" VARCHAR(20) CHECK (dataType_17 IN('dws-1','dws-2','dws-3','', null)) ) WITH ( ORIENTATION = ROW, COMPRESSION = NO ) NOCOMPRESS DISTRIBUTE BY HASH ("id"); |
输入示例SET
1 2 3 |
CREATE TABLE IF NOT EXISTS `runoob_tbl_test`( `dataType_18` SET('dws-1', 'dws-2', 'dws-3') ); |
输出示例
1 2 3 4 5 6 7 |
CREATE TABLE IF NOT EXISTS "public"."runoob_tbl_test" ( "datatype_18" VARCHAR(68) ) WITH ( ORIENTATION = ROW, COMPRESSION = NO ) NOCOMPRESS DISTRIBUTE BY HASH ("datatype_18"); |
父主题: 数据类型