主要的坑在于 sql_mode 的值,MySQL 5.5 中 sql_mode默认值为'', MySQL 5.6(貌似是为了增加安全性),将 sql 默认值定为 NO_ENGINE_SUBSTITUTION,于是原来的程序 sql 语法不严谨就会出现报错。
处理的方法有两种:
一种是使用 SET 命令,在 MySQL 的命令行中输入
SET GLOBAL sql_mode = '';
坏处似乎是每次重新启动都需要重新设置。
另一种是修改 my.cnf 文件,在 my.cnf 配置文件中添加
sql_mode=NO_AUTO_CREATE_USER,NO_ENGINE_SUBSTITUTION
保存文件,重启 MySQL 服务。