Mysql入门系列:MySQL的列类型(1)
2006-12-31 10:48:03 来源:WEB开发网核心提示: 过了ANSI 所规范所要求的取值范围,如DECIMAL(5, 2) 的最大值为9 9 9 9 . 9 9,Mysql入门系列:MySQL的列类型(1)(7),因为有7 个字节可用,简而言之,应该定义为NOT NULL,并定义为PRIMARY KEY 或定义为UNIQUE 键,在MySQL3
过了ANSI 所规范所要求的取值范围。如DECIMAL(5, 2) 的最大值为9 9 9 9 . 9 9,因为有7 个字节可用。
简而言之,在MySQL3.23 及以后的版本中,DECIMAL(M, D) 的取值范围等于更早版本中的DECIMAL(M + 2, D) 的取值范围。在MySQL的所有版本中,如果某个DECIMAL 列的D 为0,则不存储小数点。这样做的结果是扩充了列的取值范围,因为过去用来存储小数点的字节现在可用来存放其他数字了。
1. 数值列的类型属性
可对所有数值类型指定ZEROFILL 属性。它使相应列的显示值用前导零来填充,以达到显示宽度。在希望确定列值总是以给定的数字位数显示时可利用Z E R O F I L L。实际上,更准确地说是“一个给定的最小数目的数字位数”,因为比显示宽度更宽的值可完全显示而未被剪裁。使用下列语句可看到这一点:
其中SELECT 语句的输出结果如下。请注意最后一行值,它比列的显示宽度更宽,但仍然完全显示出来:
如下所示两个属性只用于整数列:
■ AUTO_INCREMENT。在需要产生唯一标识符或顺序值时,可利用AUTO_ INCREMENT属性。AUTO_INCREMENT 值一般从1开始,每行增加1。在插入NULL 到一个AUTO _INCREMENT 列时,MySQL插入一个比该列中当前最大值大1的值。一个表中最多只能有一个AUTO_INCREMENT 列。对于任何想要使用AUTO_INCREMENT 的列,应该定义为NOT NULL,并定义为PRIMARY KEY 或定义为UNIQUE 键。例如, 可按下列任何一种方式定义AUTO_INCREMENT 列:
更多精彩
赞助商链接