Mysql类型属性

Posted hello word

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Mysql类型属性相关的知识,希望对你有一定的参考价值。

1、 unsigned

当我们的数字类型加入了unsigned,就只能存储正数,不能存负数,相对来说存储的数值要大一些。

例子:

CREATE table test (
a INT UNSIGNED,
b int UNSIGNED
)ENGINE=Innodb;

INSERT test value(1, 4); ## ok
INSERT test value(1, -1); ## 报错提醒 [Err] 1264 - Out of range value for column \'b\' at row 1

注意: 如果当我们这里 使用  SELECT b-a FROM test;

[Err] 1690 - BIGINT UNSIGNED value is out of range in \'(`test`.`test`.`a` - `test`.`test`.`b`)

所以建议不要轻易使用unsiged这个属性。一般我们用int都满足数值的大小,如果不行可以使用bigint

2、ZEROFILL 

就是给数字类型根据字符的个数前面补零。例如 a int(4); a=1; 结果显示就是 0001

例子:

ALTER TABLE test CHANGE COLUMN b b int(4) UNSIGNED ZEROFILL; # 给b字段加上一个补零的属性

然后selelct * from test;

 

以上是关于Mysql类型属性的主要内容,如果未能解决你的问题,请参考以下文章

在代码片段中包含类型转换

linux中怎么查看mysql数据库版本

对这个带有 & 不带 = 的代码片段返回类型感到非常困惑

“未捕获的类型错误:无法在 Websocket Angular JS 上读取未定义的属性‘延迟’”

将多个输出中的hls属性设置为单独的片段代码

从mysql的片段中加载ListView