MySQL数据类型是int还是枚举?
如果您已经知道只需要某些值,那么最好的解决方案是使用ENUM数据类型。ENUM更具限制性。
如果您不知道值,则需要使用TINYINTUNSIGNED数据类型。TINYINTUNSIGNED的限制较少。
如果您只想存储10、20、30,让我们实现ENUM数据类型。以下是查询-
mysql> create table DemoTable
(
Id int NOT NULL AUTO_INCREMENT PRIMARY KEY,
Number ENUM('10','20','30')
);使用插入命令在表中插入一些记录-
mysql> insert into DemoTable(Number) values('10');
mysql> insert into DemoTable(Number) values('20');
mysql> insert into DemoTable(Number) values('30');
mysql> insert into DemoTable(Number) values('50');
ERROR 1265 (01000): Data truncated for column 'Number' at row 1使用select语句显示表中的所有记录-
mysql> select *from DemoTable;
这将产生以下输出-
+----+--------+ | Id | Number | +----+--------+ | 1 | 10 | | 2 | 20 | | 3 | 30 | +----+--------+ 3 rows in set (0.00 sec)
这是TINYINTUNSIGNED的实现。让我们创建一个新表-
mysql> create table DemoTable ( Id int NOT NULL AUTO_INCREMENT PRIMARY KEY, Number tinyint unsigned );
使用插入命令在表中插入一些记录-
mysql> insert into DemoTable(Number) values(100); mysql> insert into DemoTable(Number) values(50); mysql> insert into DemoTable(Number) values(60); mysql> insert into DemoTable(Number) values(70);
使用select语句显示表中的所有记录-
mysql> select *from DemoTable;
这将产生以下输出-
+----+--------+ | Id | Number | +----+--------+ | 1 | 100 | | 2 | 50 | | 3 | 60 | | 4 | 70 | +----+--------+ 4 rows in set (0.00 sec)
热门推荐
10 生日祝福语简短而有深意
11 妈妈生日祝福语简短温暖
12 对同事简短生日祝福语
13 送花祝福语简短十一朵
14 2026祝福语简短创意牛
15 新年探亲祝福语简短精辟
16 学生毕业季祝福语简短
17 简短新婚铺被子祝福语
18 朋友搬迁新房祝福语简短