gpt4 book ai didi

Python,SSCursor 的 pymysql 类封装没有按预期工作

转载 作者:太空狗 更新时间:2023-10-30 00:16:26 34 4
gpt4 key购买 nike

以下作品:

class DB():
def __init__(self, host, user, password, db):
self.conn = pymysql.connect(
host = host,
user = user,
passwd = password,
charset = 'utf8',
cursorclass = pymysql.cursors.DictCursor,
db = db
)

self.cur = self.conn.cursor()

def execute(self, sql):
self.cur.execute(sql)

def fetchone(self):
return self.cur.fetchone()

cf = DB("localhost", "user", "pass", "db")
cf.execute("SELECT Count(*) FROM Table")
aryRes = cf.fetchone()

但是当我用 SSCursor 替换 DictCursor 时,aryRes 不包含 None,我得到:

warnings.warn("Previous unbuffered result was left incomplete")

我已经尝试了所有的组合:

import pymysql
import pymysql.cursors
from pymysql import cursors

我还确认以下内容正确返回(未封装):

con = pymysql.connect(
host = "localhost",
user = "user",
passwd = "pass",
charset = 'utf8',
cursorclass = pymysql.cursors.SSCursor,
db = "db"
)
cur = con.cursor()
cur.execute("SELECT Count(*) FROM Table")
aryRes = cur.fetchone()

我缺少什么能让封装的 SSCursors 工作?我是 Python 的新手,所以请随时纠正您认为需要注意的任何问题。

忘了提...我正在使用 Python 2.7.12

最佳答案

我认为你有问题,因为你只获取了一个结果,而还有其他结果。在 fetchone 之后,尝试运行 fetchall 来清除缓冲区。

关于Python,SSCursor 的 pymysql 类封装没有按预期工作,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41193712/

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