千家信息网

MySQL枚举与集合类型的应用

发表于:2026-11-01 作者:千家信息网编辑
千家信息网最后更新 2026年11月01日,本文主要给大家介绍MySQL枚举与集合类型的应用,文章内容都是笔者用心摘选和编辑的,具有一定的针对性,对大家的参考意义还是比较大的,下面跟笔者一起了解下MySQL枚举与集合类型的应用吧。1. 背景 *
千家信息网最后更新 2026年11月01日MySQL枚举与集合类型的应用

本文主要给大家介绍MySQL枚举与集合类型的应用,文章内容都是笔者用心摘选和编辑的,具有一定的针对性,对大家的参考意义还是比较大的,下面跟笔者一起了解下MySQL枚举与集合类型的应用吧。


1. 背景

  * MySQL数据库提供针对字符串存储的两种特殊数据类型:枚举类型ENUM和集合类型SET,集合类型数据类型可以给予我们更多提高性能、降低存储容量和降低程序代码理解的技巧。


2. 枚举与集合类型所属空间与最大成员数量

类型占用字节
最大成员数量
ENUM1 or 2, 取决于枚举成员的数量65535
SET1|2|3|4|8,取决于集合成员的数量64


3. 枚举与集合约束检查应用

* 创建表 e_s

mysql> CREATE TABLE e_s(    -> uid BIGINT PRIMARY KEY NOT NULL AUTO_INCREMENT,    -> sex ENUM('male', 'female') NOT NULL    -> )ENGINE=INNODB CHARSET=utf8mb4;Query OK, 0 rows affected (0.06 sec)

  * 清空约束检查SQL_MODE

mysql> set sql_mode='';Query OK, 0 rows affected (0.01 sec)


* 插入正常数据 [ 值在枚举成员中 ]

mysql> INSERT INTO e_s SELECT null, 'male';Query OK, 1 row affected (0.03 sec)Records: 1  Duplicates: 0  Warnings: 0


* 插入非正常数据 [ 值不在枚举成员中 ] [只是警告]

mysql> INSERT INTO e_s SELECT null, 'males';Query OK, 1 row affected, 1 warning (0.03 sec)Records: 1  Duplicates: 0  Warnings: 1


* 查看插入非正常数据的warning

mysql> SHOW WARNINGS;+---------+------+------------------------------------------+| Level   | Code | Message                                  |+---------+------+------------------------------------------+| Warning | 1265 | Data truncated for column 'sex' at row 1 |+---------+------+------------------------------------------+1 row in set (0.00 sec)


* 查看 e_s 表所有数据 [ 非法插入的ENUM列会显示为空 ]

mysql> SELECT * FROM e_s;+-----+------+| uid | sex  |+-----+------+|   1 | male ||   3 |      |+-----+------+2 rows in set (0.01 sec)

* 设置SQL_MODE 约束检查

mysql> SET sql_mode = 'STRICT_TRANS_TABLES';Query OK, 0 rows affected (0.00 sec)


* 插入非正常数据 [ 值不在枚举成员中 ] [ 报错返回 ]

mysql> INSERT INTO e_s SELECT null, 'males';ERROR 1265 (01000): Data truncated for column 'sex' at row 1


4. 总结

以需求驱动技术,技术本身没有优略之分,只有业务之分。

看完以上关于MySQL枚举与集合类型的应用,很多读者朋友肯定多少有一定的了解,如需获取更多的行业知识信息 ,可以持续关注我们的行业资讯栏目的。

类型 数据 成员 应用 数量 检查 最大 取决于 技术 更多 笔者 行业 存储 特殊 业务 代码 信息 内容 只是 只有 数据库的安全要保护哪些东西 数据库安全各自的含义是什么 生产安全数据库录入 数据库的安全性及管理 数据库安全策略包含哪些 海淀数据库安全审计系统 建立农村房屋安全信息数据库 易用的数据库客户端支持安全管理 连接数据库失败ssl安全错误 数据库的锁怎样保障安全 云之行互联网科技 互联网和科技技术 互联网科技有限公司经营范围 关于新基建和互联网科技 互联网 科技公司 碳银互联网科技 卓越科技(互联网 ) 齐家互联网科技有限公司 居家互联网科技有限公司 中国科技互联网公司收入 互联网科技实习生岗位职责 南平创想时代互联网科技有限公司 速维有品互联网信息科技(苏州)有限公司 广州市恰铎互联网科技有限公司 健康食品互联网创新科技园项目 南通创西澳互联网科技有限公司 江苏苏星互联网科技有限公司 工业互联网科技成果转化 昆明中奇联合互联网科技 六子台科技互联网展会 期待互联网科技 上海亿帐通互联网科技 厦门比较好的科技互联网公司 互联网5g黑科技有哪些 科技类公司包括互联网吗 西安小鹰速贷互联网科技有限公司 全球科技与互联网公司市值变化 兰石爱特工业互联网科技分公司 恒生科技互联网指数十大成分股 株洲百竞科技的互联网营销顾问
0