2014-02-13 4 views
3

Я использую MySQL 5.6.10. Моя схема выглядит следующим образом:Mysql2 :: Ошибка: значение вне допустимого диапазона

Create Table: CREATE TABLE `nba_average_stats` (
    `id` int(11) NOT NULL AUTO_INCREMENT, 
    `ppg` decimal(2,1) DEFAULT '0.0', 
    `apg` decimal(2,1) DEFAULT '0.0', 
    `rpg` decimal(2,1) DEFAULT '0.0', 
    `tpm` decimal(2,1) DEFAULT '0.0', 
    `blk` decimal(2,1) DEFAULT '0.0', 
    `stl` decimal(2,1) DEFAULT '0.0', 
    `year` int(11) DEFAULT '0', 
    `player_id` int(11) NOT NULL, 
    PRIMARY KEY (`id`) 
) ENGINE=InnoDB AUTO_INCREMENT=2 DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci 

Вот мой запрос:

UPDATE `nba_average_stats` SET `ppg` = 18.6, `apg` = 2.6, `rpg` = 8.4, `tpm` = 0.1, `blk` = 1.5, `stl` = 0.9 WHERE `nba_average_stats`.`id` = 1 

И ошибка:

Mysql2::Error: Out of range value for column 'ppg' at row 1: 

Разве я не создать ppg столбец правильно? Является ли моя точность и/или масштаб неправильным?

ответ

1
DECIMAL(M,D) 

M is the maximum number of digits 
D is the number of digits to the right of the decimal point 

Изменить размер столбца в (3,1)

Смежные вопросы