sqlalchemy.exc.InternalError

錯誤原因:在mysql版本5.7.5之後mysql_mode默認值是"only_full_group_by",不能執行group_by查詢:

案例說明:ubuntu

res = db.session.query(table_name). \
        filter(table_name.id == id). \
        group_by(table_name.id). \
        all()

報錯提示:
sqlalchemy.exc.InternalError: (cymysql.err.InternalError) (1055, "Expression #1 of SELECT list is not in GROUP BY clause and contains nonaggregated column)
解決問題:

cd /ect/mysql/mysql.conf.d
sudo vim mysqld.cnf

在文件底部添加:

sql_mode = 'STRICT_TRANS_TABLES,NO_ZERO_IN_DATE,NO_ZERO_DATE,ERROR_FOR_DIVISION_BY_ZERO,NO_AUTO_CREATE_USER,NO_ENGINE_SUBSTITUTION'

保存!!!
重啓數據庫生效:

service mysql restart;

發佈了53 篇原創文章 · 獲贊 15 · 訪問量 1萬+
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章