部署項目時,項目啓動完畢。點擊有group by 查詢語句時出現錯誤,界面中沒有該有的數據。查詢log日誌發現錯誤mysql
Expression #1 of SELECT list is not in GROUP BY clause and contains nonaggregated column 'database_tl.emp.id' which is not functionally dependent on columns in GROUP BY clause; this is incompatible with sql_mode=only_full_group_by 。。。。sql
因爲以前也沒有記錄,因此日誌信息在網上找了一個大體同樣的。this
緣由:spa
mysql 5.7 新特性:點擊打開連接 默認是不支持GroupBy 語句的。命令行
能夠進入mysql 命令行中使用日誌
mysql> SELECT @@GLOBAL.sql_mode;
進行查詢code
結果爲:blog
+-------------------------------------------------------------------------------------------------------------------------------------------+ | @@GLOBAL.sql_mode | +-------------------------------------------------------------------------------------------------------------------------------------------+ | ONLY_FULL_GROUP_BY,STRICT_TRANS_TABLES,NO_ZERO_IN_DATE,NO_ZERO_DATE,ERROR_FOR_DIVISION_BY_ZERO,NO_AUTO_CREATE_USER,NO_ENGINE_SUBSTITUTION | +-------------------------------------------------------------------------------------------------------------------------------------------+ 1 row in set (0.00 sec)
因此咱們須要作的就是將上面畫紅的屬性注掉。
這裏爲了以後全局,重啓以後也能生效,使用修改配置文件進行修改屬性部署
(1)將這個 @@GLOBAL.sql_mode 設置爲空it
mysql> set @@GLOBAL.sql_mode=''; Query OK, 0 rows affected, 1 warning (0.00 sec)
(2)打開配置文件,這裏mysql5.7 的配置文件很詭異,這裏個人配置文件的路徑爲:/etc/mysql/mysql.conf.d 下的mysqld.cnf
打開找到[mysqld]
加入屬性
sql_mode = STRICT_TRANS_TABLES,NO_ZERO_IN_DATE,NO_ZERO_DATE,ERROR_FOR_DIVISION_BY_ZERO,NO_AUTO_CREATE_USER,NO_ENGINE_SUBSTITUTION
這樣,以前項目中groupby 語句就能夠使用了