DBAtlas · Атлас эксплуатации баз данных

1406: Данные слишком длинные для столбца

MySQL

Что это значит?

Записано значение длиннее заданной максимальной длины столбца. Например, строка из 20 символов не помещается в столбец VARCHAR(10).

Почему возникает?

Ширина столбца слишком мала для данных; символы в многобайтовом наборе (utf8mb4) занимают больше места, чем ожидалось; результат конкатенации становится длиннее; активен строгий режим SQL (иначе значение молча усекается).

Как исправить

Расширьте столбец: ALTER TABLE my_table MODIFY my_column VARCHAR(255); Для очень длинного содержимого рассмотрите тип TEXT. Если значение нужно сократить, обрежьте его в приложении или с помощью SUBSTRING. Найдите переполняющую строку: SELECT * FROM my_table WHERE CHAR_LENGTH(my_column) > 10; Добавьте проверку входных данных.

Открыть в DBAtlas →

Ещё по этой СУБД