# mysql版本:5.6.24
select version();
# 創建一個帶double類型字段的表
CREATE TABLE double_test (
id VARCHAR(32) PRIMARY KEY,
score DOUBLE(5, 2)
)
# 錄入一個3位整數部分、2位小數部分,一共5個數字的數
INSERT INTO double_test VALUE (replace(uuid(), "-", ""), 123.45);
# 可以正常錄入
SELECT * FROM double_test;
# 錄入一個5位整數部分、2位小數部分,一共7個數字的數
INSERT INTO double_test VALUE (replace(uuid(), "-", ""), 12345.67);
# 報錯:Data truncation: Out of range value for column 'score' at row 1
結論,mysql double類型中,小括號前面的,是指總長度,而不是整數部分的長度。如果想要保存5位長度的整數、兩位長度的小數,小括號前面應該寫7