MySQL Enum 和 Set 类型插入数据详解
MySQL Enum 和 Set 类型插入数据详解
在 MySQL 中,Enum 和 Set 都是用来存储有限选项集的数据类型。
Enum 类型:存储单个选项,例如性别:'男' 或 '女'。
Set 类型:存储多个选项,例如爱好:'游戏', '睡觉', '打代码', '运动'。
示例:
CREATE TABLE t_enum_set (
gender ENUM('男', '女'),
hobby SET('游戏', '睡觉', '打代码', '运动')
);
INSERT INTO t_enum_set
VALUES (2, 7);
错误原因:
上述语句会报错,因为插入的值与表定义的列类型不匹配。
gender列是一个enum类型,只能接受 '男' 或 '女' 两个值中的一个。hobby列是一个set类型,可以接受多个值,但这些值必须是 '游戏'、'睡觉'、'打代码'、'运动' 四个中的一个或多个。
正确插入数据:
INSERT INTO t_enum_set (gender, hobby) VALUES ('女', '游戏,睡觉,运动');
解释:
- '女' 是
gender列的值,对应enum类型定义中的选项。 - '游戏,睡觉,运动' 是
hobby列的值,对应set类型定义中的多个选项,用逗号分隔。
总结:
- 在插入数据时,应使用
enum和set类型定义中提供的选项,而不是数字索引。 set类型的值用逗号分隔。
希望本文能帮助您理解 MySQL enum 和 set 数据类型以及如何正确插入数据。
原文地址: http://www.cveoy.top/t/topic/nnF3 著作权归作者所有。请勿转载和采集!