日期:2014-05-16  浏览次数:20743 次

mysql 整型 数据宽度, 字段的零填充和符号

1.整型的符号

在mysql中数字数据类型是有符号和无符号两种,当然整型也是,

在定义一个字段的时候可以这么使用

age tinyint unsigned,

unsigned代表是无符号,即都是大与等于0 的数


如果这样使用是默认有符号的

age tinyint ,

2.整型的数据宽度和零填充

如下语句

age tinyint(1) ,

代表age这个字段是1个字符宽度,

但是如果不设置零填充式无效的,mysql将会忽略那个字符宽度。


如下语句是有有效的

age tinyint(1) zerofill,

只有在设置了零填充之后数据宽度才会有效,如果插入的数据时20将会插入出错。


注意:zerofill的字段默认是无符号的,就是大于等于零的数据,输入小与零的数字将会报错。

这个语句和上个语句是同一个意思:age tinyint(1) unsigned zerofill.


还有一点注意的地方,最好为字段设置上默认值,要不然不容易比较

在mysql中字段值是null时,和谁都能不能比较,甚至和null自己本身都不能比较,比较结果都是null。