MySQL Error 1264: из диапазона оценивают за столбец

Как я SET cust_fax в таблице в MySQL как это:

cust_fax integer(10) NOT NULL,

и затем я вставляю значение как это:

INSERT INTO database values ('3172978990');

но затем это говорит

'ошибка 1264' из значения для столбца

И я хочу знать, где ошибка? Мой набор? Или другой?

Любой ответ будет цениться!

57
задан 31 March 2017 в 14:21

1 ответ

tl; доктор

Удостоверяется Ваш AUTO_INCREMENT, не вне диапазона. В этом случае установите новое значение для него с:

ALTER TABLE table_name AUTO_INCREMENT=100 -- Change 100 to the desired number

Объяснение

AUTO_INCREMENT может содержать число, которое больше, чем максимальное значение, позволенное типом данных. Это может произойти, если Вы заполнили таблицу, которую Вы освободили позже, но эти AUTO_INCREMENT остался таким же, но также могли бы быть различные причины. В этом случае идентификатор новой записи был бы вне диапазона.

Решение

, Если это - причина Вашей проблемы, можно зафиксировать ее установкой AUTO_INCREMENT к одному большему, чем идентификатор последней строки. Таким образом, если идентификатор Вашей последней строки равняется 100 затем:

ALTER TABLE table_name AUTO_INCREMENT=101

, Если требуется проверить AUTO_INCREMENT текущее значение, использование эта команда :

SELECT `AUTO_INCREMENT`
FROM  INFORMATION_SCHEMA.TABLES
WHERE TABLE_SCHEMA = 'DatabaseName'
AND   TABLE_NAME   = 'TableName';
3
ответ дан 1 November 2019 в 16:14

Другие вопросы по тегам:

Похожие вопросы: