表中有一字段“進價”,保留的小數點兩位,信息如下:
in_price decimal(10,2) DEFAULT NULL COMMENT ‘進價’;
現在需要更改成精確到小數點六位。涉及到以下幾點,做個總結:
1、mysql修改字段長度
語句:alter table 表名 modify column 字段名 類型;
示例:
alter table po_detail modify column in_price decimal(14,6) default null comment ‘進價’;
加上 comment ‘進價’ 是防止執行語句後原字段的備註被更新沒了。
而decimal(10,2)爲什麼要改成decimal(14,6)就要了解mysql中decimal類型的用法了。
2、mysql字段類型decimal說明
decimal(m,d)中兩個參數,m:字符總長度,d:小數點位數
如decimal(10,2)表示這樣長度的數字:0000000.00
總長度10,小數點“.”佔一位長度,小數點後兩位小數佔兩位長度,小數點前的最大長度只有7位
字段的原長度爲decimal(10,2),小數點前最大的整數是7位
那麼,改成精確到小數點後6位,小數點前的最大整數長度應保持不變還是7位,加上一個小數點“.”,再加上六位小數,長度總共是14,所以改成decimal(14,6)