今天在Navicat執行sql報錯
網上查了一下,原因是mysql5.7以上默認開啓了only_full_group_by 模式
解決辦法:
1、查看sql_mode
SELECT @@sql_mode;
2、重新設置值,去掉ONLY_FULL_GROUP_BY
SET @@global.sql_mode ='STRICT_TRANS_TABLES,NO_ZERO_IN_DATE,NO_ZERO_DATE,ERROR_FOR_DIVISION_BY_ZERO,NO_AUTO_CREATE_USER,NO_ENGINE_SUBSTITUTION';
3、上面是改變了全局sql_mode,對於新建的數據庫有效。對於已存在的數據庫,則需要在對應的數據庫下執行以下語句
SET sql_mode ='STRICT_TRANS_TABLES,NO_ZERO_IN_DATE,NO_ZERO_DATE,ERROR_FOR_DIVISION_BY_ZERO,NO_AUTO_CREATE_USER,NO_ENGINE_SUBSTITUTION';