Allen 2020-10-17 10:50:07 15052 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


【版權聲明】
本文爲原創,遵循CC 4.0 BY-SA版權協議!轉載時請附上原文鏈接及本聲明。
原文鏈接:https://tdlib.com/am.php?t=Cf2c7jnf43au
No Tags
我也要發一個   ·   返回首頁   ·   返回[Mysql]   ·   前一個   ·   下一個
相關內容
歡迎評論
未登錄,
請先 [ 註冊 ] or [ 登錄 ]
(一分鍾即可完成註冊!)
返回首頁     ·   返回[Mysql]   ·   返回頂部