Я сталкиваюсь со странной проблемой. Я попытался запустить следующее заявление на Mac:

INSERT INTO table (field) VALUES ('')

где поле является числовым, которое принимает значение NULL .

У меня MySQL 5.5.40 установлен в Ubuntu, где этот запрос работает хорошо. У меня также установлен MySQL 5.5.45 на Mac, где запрос не выполняется:

ОШИБКА 1366 (HY000): Неверное целочисленное значение: '' для столбца 'поле'

Я обнаружил, что стандартная установка MySQL на Mac использует стандартные значения и не использует конфигурационный файл my.cnf . Я попытался проверить my.cnf в Ubuntu, но ни один из параметров конфигурации не был связан с этой проблемой.

2 ответа2

1

Я считаю сообщение об ошибке приемлемым: вы не можете вставить строку в столбец int. Попробуйте это вместо этого:

INSERT INTO table (field) VALUES (NULL)

или просто

INSERT INTO table (field) VALUES ()
0

Правильное решение - не использовать строгий режим в my.cnf:

оригинал:

sql_mode=NO_ENGINE_SUBSTITUTION,STRICT_TRANS_TABLES 

изменение:

sql_mode=NO_ENGINE_SUBSTITUTION

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .