php里tinyint为什么还能插入99这个值?

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了php里tinyint为什么还能插入99这个值?相关的知识,希望对你有一定的参考价值。

mysql数据库中以 :数据类型(m) 来约束数据,其中 数字m在不同的数据类型中表示含义是不同的。 整型数系统已经限制了取值范围,tinyint占一个字节、int占4个字节。所以整型数后面的m不是表示的数据长度,而是表示数据在显示时显示的最小长度(长度为字符数)。
tinyint(1) 这里的1表示的是 最短显示一个字符。tinyint(2) 这里的2表示的是 最短显示两个字符,但这里光设置m是没有意义的,你还需要指定当数据少于长度m时用什么来填充,比如zerofill(表示有0填充)。设置tinyint(2) zerofill 你插入1时他会显示01。设置tinyint(4) zerofill 你插入1时他会显示0001。

以上是关于php里tinyint为什么还能插入99这个值?的主要内容,如果未能解决你的问题,请参考以下文章

canal同步中源端数据类型为tinyint的字段同步异常-目标端值变为1

哪个更快: char(1) 或 tinyint(1) ?为啥?

SQL 函数:将变量从 varchar 转换为 tinyint

将 TINYINT(1) 转换为字符串

MySQL TinyInt 值不会更新

为啥 MySQL 将布尔值解释为 TINYINT(1) 而不是 BIT(1)?