OceanBase 4.4版本mysql模式的字段类型和约束
一、支持的字段类型
OceanBase MySQL 模式 4.4 兼容 MySQL 5.7/8.0,类型很全,分五大类:
1. 数值
整数:TINYINT / SMALLINT / MEDIUMINT / INT / BIGINT,都支持 UNSIGNED、ZEROFILL
定点:DECIMAL(M,D)(M≤65, D≤30)—— 金额用它,别用 FLOAT/DOUBLE
浮点:FLOAT / DOUBLE
位串:BIT(M),M=1~64
BOOL/BOOLEAN 是 TINYINT(1) 的别名,不是独立类型
2. 日期时间
DATE / TIME[(fsp)] / DATETIME[(fsp)] / TIMESTAMP[(fsp)] / YEAR
fsp 是小数秒精度 0~6,比如 DATETIME(3) 存到毫秒
业务时间推荐 DATETIME,TIMESTAMP 有 2038 问题且受时区影响
3. 字符串
定长/变长:CHAR / VARCHAR / BINARY / VARBINARY
大文本:TINYTEXT / TEXT / MEDIUMTEXT / LONGTEXT
大二进制:TINYBLOB / BLOB / MEDIUMBLOB / LONGBLOB
枚举:ENUM(最多 65535 值)、SET(最多 64 成员)
4. JSON:JSON 类型,支持 ->、->>、JSON_EXTRACT 等函数
5. 空间类型(GIS):GEOMETRY / POINT / LINESTRING / POLYGON 等,4.x 起支持,可建 SPATIAL KEY 索引
二、字段约束
列级(跟在字段后):PRIMARY KEY、NOT NULL/NULL、UNIQUE、DEFAULT 值、AUTO_INCREMENT、COMMENT '...'、UNSIGNED
表级(写在所有列之后):
复合主键 PRIMARY KEY (a, b)
复合唯一 UNIQUE KEY uk (a, b)
外键 FOREIGN KEY (cid) REFERENCES t2(id)
检查 CHECK (age > 0)
索引 KEY / UNIQUE KEY / SPATIAL KEY / FULLTEXT KEY
- 点赞
- 收藏
- 关注作者
评论(0)