Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/305.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
在python中使用sqlalchemy设置MySQL会话变量_Python_Mysql_Session_Sqlalchemy_Set - Fatal编程技术网

在python中使用sqlalchemy设置MySQL会话变量

在python中使用sqlalchemy设置MySQL会话变量,python,mysql,session,sqlalchemy,set,Python,Mysql,Session,Sqlalchemy,Set,我有一个MySQL查询,它给出了错误: “错误代码:1104。SELECT将检查多个MAX_JOIN_SIZE行;检查您的WHERE并使用SET SQL_BIG_SELECTS=1或SET MAX_JOIN_SIZE=#如果选择正确” 为了在MySQL Workbench中成功运行,我只需执行: SET SESSION SQL_BIG_SELECTS = 1; SELECT ... FROM ... WHERE ...; 这会同时运行这两条语句—SQL\u BIG\u SELECTS设置为1,

我有一个MySQL查询,它给出了错误: “错误代码:1104。SELECT将检查多个MAX_JOIN_SIZE行;检查您的WHERE并使用SET SQL_BIG_SELECTS=1或SET MAX_JOIN_SIZE=#如果选择正确”

为了在MySQL Workbench中成功运行,我只需执行:

SET SESSION SQL_BIG_SELECTS = 1;
SELECT ...
FROM ...
WHERE ...;
这会同时运行这两条语句—SQL\u BIG\u SELECTS设置为1,这允许运行它下面的查询

现在我想用python访问这个查询的结果,并将其存储在一个数据帧中。我正在使用mysqlalchemy连接到数据库

我尝试同时运行SET和SELECT,这与我在MySQL Workbench中成功运行的方式相同:

from sqlalchemy import create_engine

def query001():
  engine_fdb = create_engine('...connection string...')

  sql_cmd = """
    SET SESSION SQL_BIG_SELECTS = 1;
    SELECT ...
    FROM ...
    WHERE ...;
  """

  df = pd.read_sql(sql_cmd, engine_fdb)
最后一行生成了一个错误:“sqlalchemy.exc.ResourceClosedError:此结果对象不返回行。它已自动关闭。”我很难理解我找到的有关为什么会发生这种情况的信息,我觉得我有点不知所措


在python中,如何查询MySQL数据库,首先设置选项SET SESSION SQL\u BIG\u SELECTS=1,然后在该选项打开的情况下执行查询?

请发布完整的代码。你想做什么让人困惑。我修改了这个问题,试图简化它。除了连接字符串和查询的细节外,没有其他代码可显示。具体的查询与这个问题无关,只是它超过了MySQL的最大连接大小。希望它更清晰。可能的话,请查看建议的解决方案。请发布完整的代码。你想做什么让人困惑。我修改了这个问题,试图简化它。除了连接字符串和查询的细节外,没有其他代码可显示。具体的查询与这个问题无关,只是它超过了MySQL的最大连接大小。希望它更清楚。可能的话,请看那里提出的解决方案