我使用 mysql.connector 进行 SQL 操作。我有一个简短的脚本,它在光标上执行以下操作(字符串)cursor.execute(...)
:
"use {}".format(db)
"show tables"
command = """
ALTER TABLE Object DROP PRIMARY KEY;
ALTER TABLE Object ADD `id` bigint(20) NOT NULL PRIMARY KEY AUTO_INCREMENT FIRST;
ALTER TABLE Object ADD INDEX (`uid`);"""
该脚本遍历多个数据库db
。
问题是在某些时候我收到“未读结果”错误。似乎当我运行脚本时,在某些时候“使用 mydb”会返回一个结果(cursor._have_result=True),而我没想到会这样。奇怪的是,如果我重新运行完整的脚本,它会运行更长的时间,更多的数据库稍后会给出相同的错误。
您能提出解决或调查此问题的方法吗?我可以做些什么来防止“未读结果”吗?
PS:当我重新运行脚本时,已经完成的数据库的 ALTER 命令失败。不确定这是否会导致问题。