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

相關文章
相關標籤/搜索