在mysql中设计:
id:tinyint,长度是1,输入130显示out of rang,
将其长度设计为5,输入130,为什么还是显示out of rang?如果说tinyint数据范围是-128 到127,那长度的意义在哪里?
id:tinyint,长度是1,输入130显示out of rang,
将其长度设计为5,输入130,为什么还是显示out of rang?如果说tinyint数据范围是-128 到127,那长度的意义在哪里?
调试欢乐多
你的TINYINT,只是一个字节,存储范围是-128 到127。
所以tinyint管理的是130这个数字的大小,tinyint里面的参数(3)管理的是组成130的这三个字符:1,3,0的长度。也就是说数字的大小和数字的长度不是一个概念。
虽然有些不符合书面规范,但很容易让人理解。
引用一下我刚才说的,突然又想到了一个例子,希望可以帮助你。
假如一个公园,它就是数据库,你就是一个数据,你想进入这个公园。这个公园的门是1米{tinyint(1)},可这个公园规定只有-128 到127岁的人才能进入(也就是tinyint),可你偏偏到了130岁,但你的身高是3米。虽然你很有钱,自己把这个门阔到了3米高{tinyint(3)},但是你无法改变你的年龄,你还是130岁,所以这里不是你娱乐的地方。所以数据库报错。