Почему я получаю сообщение об ошибке 1264: значение за пределами диапазона для столбца ping в строке 1? - PullRequest
1 голос
/ 22 декабря 2019

размер пинга равен 10,

данные таблицы: {'ping': 48.68, 'download': 0.41, 'upload': 0.12}

тогда как получается значение с плавающей запятойошибка выдачи размера 5:

mysql.connector.errors.DatabaseError: 1264: Вне значения диапазона для столбца ping в строке 1

Вот моя таблица mysql

+----------------+--------------+------+-----+-------------------+----------------+
| Field          | Type         | Null | Key | Default           | Extra          |
+----------------+--------------+------+-----+-------------------+----------------+
| id             | int(11)      | NO   | PRI | NULL              | auto_increment |
| ping           | float(10,10) | YES  |     | NULL              |                |
| download       | float(10,10) | YES  |     | NULL              |                |
| upload         | float(10,10) | YES  |     | NULL              |                |
| datetime_added | timestamp    | NO   |     | CURRENT_TIMESTAMP |                |
+----------------+--------------+------+-----+-------------------+----------------+

1 Ответ

1 голос
/ 22 декабря 2019

Тип:

Типы с плавающей запятой

MySQL допускает нестандартный синтаксис: FLOAT (M, D) или REAL (M, D) илиДВОЙНАЯ ТОЧНОСТЬ (M, D). Здесь (M, D) означает, что значения могут быть сохранены с общим количеством до M цифр, из которых D цифр может быть после десятичной точки.

Итак: float(10,10) не позволяет хранить 48,68. До десятичной точки может быть только 0.

дБ <> Fiddle demo

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...