gpt4 book ai didi

Mysql + django 异常: "Commands out of sync; you can' t run this command now"

转载 作者:可可西里 更新时间:2023-11-01 06:52:50 26 4
gpt4 key购买 nike

通过 gunicorn 运行 django 到 RDS (AWS mysql),我在我的 gunicorn 日志中看到这个错误:

Exception _mysql_exceptions.ProgrammingError: (2014, "Commands out of sync; you can't run this command now") in <bound method Cursor.__del__ of <MySQLdb.cursors.Cursor object at 0x690ecd0>> ignored

我还不能可靠地重现它,也不能追踪导致它的底层代码。

我在某些地方使用原始游标,遵循以下模式:

cursor = connections['read_only'].cursor()
sql = "select username from auth_user;"
cursor.execute(sql)
rows = cursor.fetchall()
usernames = []
for row in rows:
usernames.append(row[0])

在某些地方,我立即将游标重新用于另一个查询 execute()/fetchall() 模式。有时我不会。

我还在某些地方使用原始管理器查询。

我没有明确关闭游标,但我认为我不应该这样做。

除此之外:我没有使用任何存储过程,没有 init_command 参数,也没有在我在这里看到的其他答案中指出的任何其他内容。

任何有关如何调试的想法或建议都将不胜感激。

最佳答案

查看 https://code.djangoproject.com/ticket/17289

您需要执行以下操作:

while cursor.nextset() is not None:
if verbose:
print "rows modified %s" % cursor.rowcount

关于Mysql + django 异常: "Commands out of sync; you can' t run this command now",我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14065676/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com