使用 psycopg2 出现 InternalError 后要怎么处理?

执行完第6行以后,再怎么执行都抛出InternalError.
请问有没有办法执行完第6行后还能继续查询?
1importpsycopg2
2conn=psycopg2.connect("dbname=testuser=test")
3cur=conn.cursor()
4cur.execute("selectphonefromaccountwherephone=%s;",("13366668888",))
5cur.fetchone()
6cur.execute("selectphonefromaccountwherephone=%s;",(13366668888,))
7cur.execute("selectphonefromaccountwherephone=%s;",("13366668888",))
输出如下(省略了Traceback):
Out[5]:('13366668888',)
Out[6]:ProgrammingError:operatordoesnotexist:charactervarying=bigint
LINE1:selectphonefromaccountwherephone=13366668888;
^
HINT:Nooperatormatchesthegivennameandargumenttype(s).Youmightneedtoaddexplicittypecasts.
Out[7]:InternalError:currenttransactionisaborted,commandsignoreduntilendoftransactionblock
不负相思意
浏览 1131回答 2
2回答

侃侃无极

currenttransactionisaborted,commandsignoreduntilendoftransactionblock中文就是当前事务被中止,直到事务结束前的命令都将被忽略所以你想继续的话,开启新事务就可以了,比如conn.commit()一下。
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

JavaScript