今天在使用group_by時(shí)遇到錯(cuò)誤,大概是以下樣子:
(cymysql.err.InternalError) (1055, "Expression #2 of SELECT list is not in GROUP BY clause and contains nonaggregated column
[SQL]CREATETABLE`m_part`(`f_id`INTNOTNULL,`f_name`VARCHAR(20)NULL,PRIMARYKEY(`f_id`))ENGINE=myisamDEFAULTCHARSET=utf8PARTITIONBYRANGE(f_id)(PARTITIONp0VALUESlessTHAN(10),PARTITIONp1VALUESlessTHAN(20))
原因:
mysql5.7.5版本開始奋隶,sql_mode使用的是默認(rèn)值( 如上),而之前使用的mysql配置文件中sql_mode=”“,由于這個(gè)特性使在使用group_by時(shí)出現(xiàn)報(bào)錯(cuò)
linux下解決方案:
修改mysql.conf
sudo vim /etc/mysql/mysql.conf.d/mysql.conf
然后將
sql_mode=NO_ENGINE_SUBSTITUTION,STRICT_TRANS_TABLES
添加至文件末尾
重啟服務(wù):
/etc/init.d/mysql restart
問題解決