社区
MySQL
帖子详情
mysql数据库字段长度问题
ronghua_liu
2010-06-23 11:34:56
在mysql中设计:
id:tinyint,长度是1,输入130显示out of rang,
将其长度设计为5,输入130,为什么还是显示out of rang?
如果说tinyint数据范围是-128 到127,那长度的意义在哪里?
...全文
294
7
打赏
收藏
mysql数据库字段长度问题
在mysql中设计: id:tinyint,长度是1,输入130显示out of rang, 将其长度设计为5,输入130,为什么还是显示out of rang? 如果说tinyint数据范围是-128 到127,那长度的意义在哪里?
复制链接
扫一扫
分享
转发到动态
举报
写回复
配置赞助广告
用AI写文章
7 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
iihero_
2010-06-23
打赏
举报
回复
[Quote=引用楼主 ronghua_liu 的回复:]
在mysql中设计:
id:tinyint,长度是1,输入130显示out of rang,
将其长度设计为5,输入130,为什么还是显示out of rang?
如果说tinyint数据范围是-128 到127,那长度的意义在哪里?
[/Quote]
130已经超出-128到127的范围了。
ACMAIN_CHM
2010-06-23
打赏
举报
回复
MySQL官方文档
http://dev.mysql.com/doc/refman/5.1/zh/index.html
[Quote]MySQL还支持选择在该类型关键字后面的括号内指定整数值的显示宽度(例如,INT(4))。该可选显示宽度规定用于显示宽度小于指定的列宽度的值时从左侧填满宽度。
显示宽度并不限制可以在列内保存的值的范围,也不限制超过列的指定宽度的值的显示。
当结合可选扩展属性ZEROFILL使用时, 默认补充的空格用零代替。例如,对于声明为INT(5) ZEROFILL的列,值4检索为00004。请注意如果在整数列保存超过显示宽度的一个值,当MySQL为复杂联接生成临时表时会遇到问题,因为在这些情况下MySQL相信数据适合原列宽度。
[/Quote]
ACMAIN_CHM
2010-06-23
打赏
举报
回复
那个长度,只是显示长度,与实际存储无关,
你的TINYINT,只是一个字节,存储范围是-128 到127。
space_Wind
2010-06-23
打赏
举报
回复
[Quote=引用 6 楼 space_wind 的回复:]
白话解释,你往数据库里插入 130 的时候,是储存长度,这个是由数据类型来管理的如int,tinyint等,因为你出入的130,超出了tinyint的-128 到127的范围...[/Quote]
引用一下我刚才说的,突然又想到了一个例子,希望可以帮助你。
假如一个公园,它就是数据库,你就是一个数据,你想进入这个公园。这个公园的门是1米{tinyint(1)},可这个公园规定只有-128 到127岁的人才能进入(也就是tinyint),可你偏偏到了130岁,但你的身高是3米。虽然你很有钱,自己把这个门阔到了3米高{tinyint(3)},但是你无法改变你的年龄,你还是130岁,所以这里不是你娱乐的地方。所以数据库报错。
space_Wind
2010-06-23
打赏
举报
回复
白话解释,你往数据库里插入 130 的时候,是储存长度,这个是由数据类型来管理的如int,tinyint等,因为你出入的130,超出了tinyint的-128 到127的范围,所以会报错。但你select的时候,显示在你眼前的这个数字1,3,0这三个数字是实际长度,是由int(11)或tinyint(3)里的参数'11','3'来管理的。
所以tinyint管理的是130这个数字的大小,tinyint里面的参数(3)管理的是组成130的这三个字符:1,3,0的长度。也就是说数字的大小和数字的长度不是一个概念。
虽然有些不符合书面规范,但很容易让人理解。
ACMAIN_CHM
2010-06-23
打赏
举报
回复
[Quote]这个可以举个例子吗?谢谢~[/Quote]帮助文档中有例子。
ronghua_liu
2010-06-23
打赏
举报
回复
该可选显示宽度规定用于显示宽度小于指定的列宽度的值时从左侧填满宽度。
这个可以举个例子吗?谢谢~
Python操作
mysql
数据库
入口基础和实战案例
数据库
(database,DB)是指长期存储在计算机内的,有组织,可共享的数据的集合。课程介绍:
mysql
数据库
基础;
mysql
数据库
SQL语句操作
数据库
;python编程操作
mysql
数据库
增删改查;实战案例项目《学生成绩管理系统》(python编程操作
mysql
数据库
)课程特色:采用着重于实践编程,使用现实中实际案例,更好掌握相关知识点以及技能方法。摒弃传统重理论轻实践做法,更多的讲解重点,吃透难点,传授实战技能方法。学完该课程,可独立使用python操作
数据库
,包括:创建
数据库
、创建数据表、使用python编程操作
数据库
增删改查。
mysql
数据库
字段
长度
_
mysql
数据库
设计字符类型及
长度
1.数字类型小数的我就不聊了,因为有小数点的一般都是用字符串保存。关于整数,有几种可以选TINYINT、SMALLINT、MEDIUMINT、INT和BIGINT,分别占1、2、4、8字节。如果无符号,则其最大为255、65535、16777215、4294967295和18446744073709551615。一般年龄呀身高呀用tinyint就足够了,应该合理使用,保证字节不会被浪费。然后我说一...
MySQL
数据库
字段
超长
问题
在向
MySQL
数据库
表中插入或更新记录时,有时会出现
字段
超长的
问题
,包括但不限于以下场景处理上游系统发送的交易信息,将多个
字段
拼成一个JSON或其他格式的字符串;在增加
字段
,或数据较长时,写入或更新
数据库
时可能超长;调用下游系统的服务,返回的部分
字段
(如错误信息等)较长时,导致更新
数据库
记录失败。...
mysql
的text
字段
长度
mysql
数据库
中text
字段
长度
不够的
问题
mysql
的text
字段
长度
mysql
数据库
中text
字段
长度
不够的
问题
mysql
修改
字段
长度
如:demo表里的test1,test2,test3
字段
,原来
长度
都是10个字符,现
长度
要改成100、200、300个字符。如:demo表里的test
字段
,原来
长度
是10个字符,现
长度
要改成100个字符。alter table 表名 modify column
字段
名1 类型1,alter table 表名 modify column
字段
名 类型;modify column
字段
名2 类型2,modify column
字段
名3 类型3;
MySQL
56,679
社区成员
56,709
社区内容
发帖
与我相关
我的任务
MySQL
MySQL相关内容讨论专区
复制链接
扫一扫
分享
社区描述
MySQL相关内容讨论专区
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章