MySQL(三)--类型属性
来源:互联网 发布:想在淘宝网上卖东西 编辑:程序博客网 时间:2024/06/05 17:19
一.UNSIGNED
UNSIGNED属性就是将数字类型无符号化,与C、C++这些程序语言中的unsigned含义相同。例如,INT的类型范围是-2 147 483 648 ~ 2 147 483 647, INT UNSIGNED的范围类型就是0 ~ 4 294 967 295。
看起来这是一个不错的属性选项,特别是对于主键是自增长的类型,因为一般来说,用户都希望主键是非负数。然而在实际使用中,UNSIGNED可能会带来一些负面的影响。
先创建一张表t:
CREATE TABLE t( a INT UNSIGNED, b INT UNSIGNED)ENGINE = INNODB;
再插入一条数据:
INSERT INTO t SELECT 1,2;
查找:
SELECT a - b FROM t
结果报错了,截图如下:
解释:
a-b的十六进制结果是0xFFFFFFFF,只是0xFFFFFFFF可以代表两种值:
对于无符号的整型值,其是整型数的最大值,即4 294967 295;
对于有符号的整型数来说,第一位代表符号位,如果是1,表示是负数,这时应该是取反加1得到负数值,即-1。
所以这条语句在MySQL中运行,可能会得出-1,或是一个很大的整数,或者报错。
二.ZEROFILL
先看一下t的建表语句:
整形是4字节的,int(10)代表的是什么?其实int(M)中的M值只是指定显示长度,并不表示存储长度。
对表修改一下:
ALTER TABLE t CHANGE COLUMN a a INT(4) UNSIGNED ZEROFILL;
查询看一下:
这就是ZEROFILL属性的作用,如果宽度小于设定的宽度,则自动填充0,其实在数据库内部存储的还是1,0001只是设置了ZEROFILL属性后的一种格式化输出。
阅读全文
0 0
- MySQL(三)--类型属性
- 类型库(三):类型库和元素的属性
- Mysql 字段类型属性
- Mysql入门(三)之列属性
- mysql 字段类型对应 java属性类型
- String类型的属性和方法(三)
- mysql属性与java类型对照表
- mysql属性与java类型对照表
- mysql字段类型对应javabean属性
- C#3.0新特性(三)-详说自动属性和匿名类型
- C#3.0新特性(三)- 详说自动属性和匿名类型
- 《C Primer Plus》学习笔记之 C数据的属性(三)类型限定词
- [XML]学习笔记(三)——DTD属性的声明及类型
- Spring (三)注入依赖对象、注入集合类型的属性
- MySQL学习笔记之三 表类型
- 关于Mysql中的三种日期类型
- ibatis 复杂类型属性(自定义类型的属性)
- 引用类型(三) Date类型
- android 7.0 (nougat)的编译优化-ninja
- shell编程-字符截取命令
- 在linux中添加ftp用户,并设置相应的权限
- 晶振与晶体的参数详解
- Dialog上的EditText的自定义键盘
- MySQL(三)--类型属性
- Struts2的使用注解配置Action(零配置)
- 日常训练 IQ测试 可持久化数组||链表
- Git"Could not read from remote repository.Please make sure you have the correct access rights."解决方案
- WdatePicker日期插件的简单使用
- 七牛云
- MPAndroidChart绘制三角函数曲线
- 【Android】Uri、UriMatcher、ContentUris详解
- Maven的pom.xml文件结构之Build配置build