- by Oleg Ivanchenko
I have got an error:
SQLSTATE[HY000]: General error: 1364 Field 'XXXX' doesn't have a default value
Happened with MySQL 5.7.12, Mac OS X 10.11.5. MySQL installed from a package from mysql.com.
The obvious solution does not work: adding default value into SQL code (default '') generates another error for a TEXT field:
SQLSTATE: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'XXXX' can't have a default value
Thus I had to update MySQL settings. The default MySQL strict mode has to be disabled.
In my case there were no /etc/my.cnf file. The default settings were in /usr/local/mysql/support-files/my-default.cnf. I added /etc/my.cnf with the following code in it:
And of course MySQL should be restarted :-) Look here for more details.
It solved the problem.