【发布时间】:2016-07-11 10:56:02
【问题描述】:
我想使用 MySQL 在表中使用 ENUM 功能。
我创建了一个表 tbl_test,其中 id 作为主键,enum_col 字段作为 ENUM 数据类型。
CREATE TABLE tbl_test(
id INT NOT NULL AUTO_INCREMENT,
enum_col ENUM('a','b','c') NOT NULL,
PRIMARY KEY ( id )
);
当我尝试存储 单个枚举值时,它被插入,但是当我尝试存储 多个枚举值时,它会抛出 SQL 错误 .
错误:
Data truncated for column 'enum_col' at row 1
单个 ENUM 值(正确):
INSERT INTO tbl_test(id, enum_col) values(1, 'a');
多个 ENUM 值(失败):
INSERT INTO tbl_test(id, enum_col) values(2, 'a,b');
有没有办法以 ENUM 数据类型存储多个值?
【问题讨论】:
-
ENUM 是值类型,而不是集合或数组类型。与其存储值数组,不如规范化您的数据,以便可以使用 MySQL 中的所有正常查询和完整性功能。
标签: mysql database enums insert