网上很多文章说如果遇到

MySQL 1364 错误提示:#1364 - Field "" doesn't have a default value  

说明你配置了 “STRICT_TRANS_TABLES”

但是你可能发现修改了my.cnf(windows 下为my.ini)重启mysql并没有结局问题:

用 SELECT @@GLOBAL.sql_mode 查询还是带有STRICT_TRANS_TABLES;


原来是没有解决彻底:

http://dev.mysql.com/doc/refman/5.6/en/option-files.html

里面提到:


On Unix, Linux and OS X, MySQL programs read startup options from the following files, in the specified order (top files are read first, later files take precedence).


可能的原因是你修改那个my.cnf不是最高优先级的(就是我的情况),/etc/my.cnf是一个,/usr/local/mysql/my.cnf有更高优先级,所以重启并没有去掉严格模式。