mysql数据表字段设置为decimal时易犯的错误

今天在向上图所示mysql数据表插入数据,当price插入>=1的数值时,总是报错误:( #1264 - Out of range value for column 'price' at row 1 ),意思就是price字段要插入的值超出了数据定义范围,以下图:php

刚开始觉得mysql能够设定字段值的范围,百度了一下不是,最后再检查price字段定义:decimal(4,4),而且按照下图phpmyadmin给出的注释理解,没什么错误啊,整数部分4位,小数部分四位,按这个理解最大能够为9999.9999,但是为何大于等于1就报错呢。mysql

最后又百度了下资料,终于弄明白phpmyadmin的注释贻害不浅啊,原来正确的意思是: decimal(x,y):x表明数值总长度,y表明小数部分位数的长度;decimal(4,4)意思是一共就长4位,其中小数部分就占了4位,因此在程序里面一旦这个值大于1就会报错,这个字段的值永远只能在 -0.9999 到 0.9999;sql

相关文章
相关标签/搜索