文档章节

数据库字段类型惹的祸

小马奔腾123
 小马奔腾123
发布于 2017/05/10 15:33
字数 699
阅读 4
收藏 0

事情是这样的:数据库中有一个字段是  tinyint(4) 类型,这个返回 是在 -128~127之间,线上操作之前是返回资源不够,然后我就一直找那选择资源的地方问题,拿dba 发给我数据进行模拟查找,怎么都发现没有问题,由于这个比较着急,所以晚上我不得不加班在这一个人来回反复排查原因,本地没法模拟线上,折腾到11点,后来实在找不出来,眼睛疼,我就回家了,第二天一早我又问,他居然告诉我后来是数据库插入失败,我就开始找问题,很快定位找到了,是因为其中插入的值大于127,导致操作失败,我那时候是一个恨啊,所以我把它写下,以后注意mysql字段类型,特别是这些bit, smallint 等类型,要注意,再次我学习了大概几种这样的类型值范围,再次贴下:

 

1 bytes = 8 bit ,一个字节最多可以代表的数据长度是2的8次方 11111111 在计算机中也就是

-128到127

1.BIT[M]

位字段类型,M表示每个值的位数,范围从1到64,如果M被忽略,默认为1

2.TINYINT[(M)] [UNSIGNED] [ZEROFILL]  M默认为4

很小的整数。带符号的范围是-128到127。无符号的范围是0到255。

3. BOOL,BOOLEAN

是TINYINT(1)的同义词。zero值被视为假。非zero值视为真。

4.SMALLINT[(M)] [UNSIGNED] [ZEROFILL] M默认为6

小的整数。带符号的范围是-32768到32767。无符号的范围是0到65535。

5.MEDIUMINT[(M)] [UNSIGNED] [ZEROFILL] M默认为9

中等大小的整数。带符号的范围是-8388608到8388607。无符号的范围是0到16777215。

6. INT[(M)] [UNSIGNED] [ZEROFILL]   M默认为11

普通大小的整数。带符号的范围是-2147483648到2147483647。无符号的范围是0到4294967295。

7.BIGINT[(M)] [UNSIGNED] [ZEROFILL] M默认为20

大整数。带符号的范围是-9223372036854775808到9223372036854775807。无符号的范围是0到18446744073709551615。

注意:这里的M代表的并不是存储在数据库中的具体的长度,以前总是会误以为int(3)只能存储3个长度的数字,int(11)就会存储11个长度的数字,这是大错特错的。

tinyint(1) 和 tinyint(4) 中的1和4并不表示存储长度,只有字段指定zerofill是有用,
如tinyint(4),如果实际值是2,如果列指定了zerofill,查询结果就是0002,左边用0来填充。

 

© 著作权归作者所有

小马奔腾123
粉丝 0
博文 5
码字总数 1069
作品 0
松江
程序员
私信 提问
WPF学习笔记(6):DataSet更新后台数据库个别列失败的问题

WPF窗体中建有一个DataGrid,运行后修改各行数据,通过Update方法更新后台数据库。发现在数据库中,其中一列FAcctID(文本型)每次都会变为0,还有一列FDebit(货币型)不能更新,其他列则没...

向往蓝天的菜鸟
04/21
0
0
ERROR:Invalid syntax for function signature in TLD

报错的log 严重: Servlet.service() for servlet jsp threw exceptionorg.apache.jasper.JasperException: Invalid syntax for function signature in TLD. Tag Library: 某某某, Function:......

C-Kellen
2016/02/25
58
0
MySql提示:The server quit without updating PID file

服务器症状: 今天网站web页面提交内容到数据库,发现出错了,一直提交不了,数找了下原因,发现数据写不进去!第一反应,重启mysql数据库,一直执行中,停止不了也启动不了,直觉告诉我磁盘...

fzxu_05
2015/03/24
0
0
MySQL: Starting MySQL….. ERROR! The server quit without updating PID file

前段时间打包了一个数据库镜像,但是启动容器之后发现报错 ··· ··· 查了网络上的解决方案比较全,遂转帖记录下。 因为镜像打包之前是做过主从的,所以此次把数据目录 /data 下的 mysq...

blackfoxya
2018/12/16
0
0
Intel CPU漏洞技术解读:都是缓存惹的祸!

Intel CPU漏洞技术解读:都是缓存惹的祸! 运维派2018-01-051 阅读 网络安全漏洞缓存CPUIntel 背景 2017年6月1日,Google的安全团队向Intel、AMD、ARM报了一个硬件级的漏洞,造成的危害是 […...

运维派
2018/01/05
0
0

没有更多内容

加载失败,请刷新页面

加载更多

Linux scp命令

Linux scp命令 Linux 命令大全 Linux scp命令用于Linux之间复制文件和目录。 scp是 secure copy的缩写, scp是linux系统下基于ssh登陆进行安全的远程文件拷贝命令。 语法 scp [-1246BCpqrv] ...

linjin200
26分钟前
5
0
Echoin获得ZB Captial战略投资

Echoin获得ZB Captial战略投资

怎当她临去时秋波那一转
27分钟前
2
0
Jenkins 持续集成综合实战

Jenkins 持续集成综合实战 发表于 2017-01-06 文章目录 1 安装 Jenkins 1.1 安装 JDK/Maven 1.2 安装 Jenkins 1.2.1 离线安装 1.2.2 在线安装 1.2.3 基于 Tomcat 安装 1.2.4 免安装方式 1.3 ...

linzhuangrong
28分钟前
2
0
自动编码(AE)器的简单实现

一.目录 自动编码(AE)器的简单实现 一.目录 二.自动编码器的发展简述 2.1 自动编码器(Auto-Encoders,AE) 2.2 降噪自编码(Denoising Auto-Encoders, DAE)(2008) 2.3 堆叠降燥自动编码器 (Sta...

zhaowei121
32分钟前
2
0
十分良心!全网最详细的Java 自动内存管理机制及性能优化教程

先来个思维导图预览一下本文结构。 一图带你看完本文 一、运行时数据区域 首先来看看Java虚拟机所管理的内存包括哪些区域,就像我们要了解一个房子,我们得先知道这个房子大体构造。根据《J...

戎码益深
32分钟前
1
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部