Подтвердить что ты не робот

Как исправить значение "Вне диапазона, скорректированное для ошибки столбца"?

Я вошел в phpMyAdmin и изменил значение для целочисленного (15) поля на 10-значное число, поэтому все должно работать нормально. Я ввел значение "4085628851", и я получаю следующую ошибку:

Предупреждение: # 1264 Значение вне диапазона отрегулировано для столбца "телефон" в строке 1

Затем он изменяет значение на '2147483647'.

После некоторого поиска в Google, я нашел эту статью, которая объясняет, как исправить эту проблему. http://webomania.wordpress.com/2006/10/01/out-of-range-value-adjusted-for-column-error/, но я не знаю, как войти в оболочку Mysql.

Как мне войти в оболочку Mysql? Как исправить эту ошибку?

4b9b3361

Ответ 1

Значение, которое вы пытались установить, слишком велико для подписанного поля INT. Ширина дисплея (15) не влияет на диапазон значений, которые могут быть сохранены, только как показано значение.

Ссылка: Документы MySQL по числам

В телефонных номерах - см. Лучше ли хранить номера телефонов в каком-либо каноническом формате или "как указано" ?

Ответ 2

Я просто изменил тип поля на BIGINT, и это устранило проблему. Я предполагаю, что я не могу ввести значение выше 2147483647 для INT, поэтому я предполагаю, что каждый, кто использует поле для ввода 10-значного номера телефона, использует BIGINT?

Ответ 3

Наилучшим вариантом для хранения целого значения больше 2147483647 было бы сделать тип поля как BIGINT.

Если вы хотите сохранить номер телефона, лучше сохранить значение в виде текстового поля.

Ответ 4

вы можете попробовать не указывать значение, начинающееся с '0 '. Если вы хотите начать значения с нуля, используйте тип данных varchar

Ответ 5

Вставьте в значения Lector (1, "Osang", "Idagbo", "2019-05-04", 6184077735, "[email protected]");

Это мой вклад. Он продолжает генерировать код ошибки 1264. Я также пробовал типы данных Nvarchar, BIGINT и Varchar, но все безрезультатно.