它今天已经把我逼疯了。在一个开发环境中,MySQL是5.7,其中:sql_mode = 'ONLY_FULL_GROUP_BY'
是默认设置。
我找不到一个简单的方法在pymysql中执行sql_mode = '';
,因为每次执行只允许1个查询。
import pymysql as dbapi
dbServer=SERVER_NAME
dbPass=PASSWORD
dbUser=USER_NAME
db=dbapi.connect(host=dbServer,user=dbUser,passwd=dbPass)
cur=db.cursor()
CY_QUERY_2 = (
"SET SESSION sql_mode='';"+
"SELECT *'" +
" FROM table" +
"' GROUP BY PROPERTY_ID, YEAR;")
cur.execute(CY_QUERY_2)
cy_result2 = cur.fetchall()
我们将得到一个错误:
"SET SESSION sql_mode ='"附近的MySQL语法中存在错误;SELECT * FROM表格
遗憾的是,代码处理的每个表都有数百列。在每个查询中列出数百列并不是一个好的做法。有哪位大师能给我们一些启发吗?谢谢。
1条答案
按热度按时间fnvucqvd1#
只需要分别执行两个查询(伪代码):