问题:在MySQL表中的列可以定义它显示的位宽、那么定义了位宽会不会影响数据的取值范围呢?
测试:
1、定义一个用于测试的表
create table t(x int,y int(2),z int(2) zerofill);
2、插入数据以进行测试
insert into t(x,y,z) values(9,9,9); #插入一些在范围内的数据。
insert into t(x,y,z) values(100,100,100); #插入超出范围的数据。
3、测试:
select * from t;
结论:
显示位宽也好、按零填充也好;在没有超出它们定义的范围时是有用的,一但数据超过这个范围它们就不起作用了。