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

1366: Некорректное строковое/целое значение для столбца

MySQL

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

В столбец вставлено значение, несовместимое с его типом или набором символов. Обычно причина — несоответствие кодировки символов или типа.

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

Запись 4-байтового эмодзи/символа (utf8mb4) в столбец latin1, ввод нечислового текста в числовой столбец, неверная кодировка подключения или отправка значения другого типа, чем ожидается.

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

При проблемах с символами преобразуйте столбец/таблицу в utf8mb4: ALTER TABLE my_table CONVERT TO CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci и задайте кодировку подключения utf8mb4. Для числовых полей проверяйте типы в приложении. Помните, что сервер работает в строгом режиме SQL (STRICT); первопричина — тип/кодировка данных.

Открыть в DBAtlas →

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