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 公司新春搞笑祝福语简短
15 高情商敬酒祝福语简短
16 婚礼祝福语新郎妹妹简短
17 教师答辩通过祝福语简短
18 生女孩红包简短祝福语