在Python(2.7.3)中,我使用OurSQL(0.9.2)的cursor.execute调用一个过程。但是,当我尝试使用cursor.nextset()或cursor.fetchone()获取结果时,我收到错误“oursql.ProgrammingError :(无,'没有结果',无)。”
我觉得奇怪的是,cursor.rowcount不是0.
我的Python代码如下所示:
import oursql
conn = oursql.connect(host='www.example.com', user='foo', passwd='bar', port=3306)
curs = conn.cursor()
curs.execute("CALL db.foo(?, ?, ?)", (1, 2, 3))
print("Row count: " + str(curs.rowcount))
print(curs.nextset())
res = curs.fetchone()
print(res)
curs.close()
这是输出:
Row count: 189
Traceback (most recent call last):
File "test.py", line 8, in <module>
print(curs.nextset())
File "cursor.pyx", line 169, in oursql.Cursor.nextset (oursqlx/oursql.c:16436)
File "cursor.pyx", line 161, in oursql.Cursor._check_statements (oursqlx/oursql.c:16392)
oursql.ProgrammingError: (None, 'no results available', None)
正如你所看到的,它告诉我“没有结果可用”,但行数是“189”。
我在这里做错了吗?我应该提一下,当我在MySQL Workbench中测试它时,同样的查询给了我相同的行数,它确实产生了结果。