Как исправить значение "Вне диапазона, скорректированное для ошибки столбца"?
Я вошел в 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? Как исправить эту ошибку?
Ответы
Ответ 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, но все безрезультатно.