mysql5.7 only_full_group_by問題

5.7及後續版本只能查詢被group字段 其它未被分組的字段不能查詢

解決方法

改變寫法
5.7前寫法

SELECT max(id), user_name FROM sys_user

5.7及後續版本寫法 使用any_value函數抑制

SELECT max(id), any_value(user_name) FROM sys_user

修改爲5.7前的配置

# 查詢所有mode 把ONLY_FULL_GROUP_BY去掉即修改成功
SELECT @@GLOBAL.sql_mode;

# 爲了重啓後依然有效 需修改配置文件
vim /etc/mysql/mysql.conf.d/mysqld.cnf
# 在[mysqld]中修改 sql_mode 沒有此屬性手動添加即可
sql_mode=STRICT_TRANS_TABLES,NO_ZERO_IN_DATE,NO_ZERO_DATE,ERROR_FOR_DIVISION_BY_ZERO,NO_AUTO_CREATE_USER,NO_ENGINE_SUBSTITUTION
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章