значение вне диапазона с определенным номером - PullRequest
0 голосов
/ 26 мая 2018

Я определил в своей таблице целое число DECIMAL(5,3), когда я сохраняю значение этого типа: 4.500 все работает хорошо, но иногда значение выглядит так: 300 и Mysql возвращаемое значение вне диапазона,Должен ли я увеличить длину?

Ответы [ 3 ]

0 голосов
/ 26 мая 2018

Вы получаете «значение вне диапазона с указанным номером», которое вы определили для своего столбца:

DECIMAL(5,3)

Это означает, что он может принимать значения от -99,999 до 99,999.

Объясните:

Первый параметр для DECIMAL называется PRECISION, а второй - SCALE.

Целочисленное место точности будет уменьшено с "5" до "2", поскольку SCALE зарезервировало "3" места вточность.

Итак, вы должны увеличить свою ДЕСЯТИЧНУЮ длину.

0 голосов
/ 26 мая 2018

Вам нужно изменить исходное значение следующим образом

ALTER TABLE table_name MODIFY column_name decimal(10,5);

Например, 5, чтобы дать больше места для ваших требований;также я комментирую вам, что это тип данных более точно для хранения числовых данных в основном в данных цен

0 голосов
/ 26 мая 2018

Да, вы должны увеличить длину.Значение должно быть достаточно большим, чтобы хранить то, что вам нужно:

alter table t modify column col decimal(10, 3);
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...