Allen 2020-10-17 10:50:07 19657 0 0 0 0

发现mysql定义的数据类型不管用,定义的整数1位,也可以插入多位数字


create table t1 (id int(1));

insert into t1 (id) values (-1);    #结果 -1

insert into t1 (id) values (-123);  #结果 -123

insert into t1 (id) values (-12345);#结果 -12345

insert into t1 (id) values (23);    #结果 23

insert into t1 (id) values (12345); #结果 12345



完全不报错,可以正常写入!

这是为啥,这么不严谨么,难道是为了容错!


又继续试了一下:

drop table t1;

create table t1 (id varchar(1));

insert into t1 (id) values ('-1'); #结果 -

insert into t1 (id) values ('aa'); #结果 a

insert into t1 (id) values (23);   #结果 2 不报错

insert into t1 (id) values (123);  #结果 1 不报错


drop table t1;

create table t1 (id char(1));

insert into t1 (id) values ('-1'); #结果 "-"

insert into t1 (id) values ('aa'); #结果 a

insert into t1 (id) values (23);   #结果 2 不报错

insert into t1 (id) values (123);  #结果 1 不报错


讨论:https://v2ex.com/t/715858


No Tags
我也要发一个   ·   返回首页   ·   返回[Mysql]   ·   前一个   ·   下一个
相关内容
欢迎评论
未登录,
请先 [ 注册 ] or [ 登录 ]
(一分钟即可完成注册!)
返回首页     ·   返回[Mysql]   ·   返回顶部