Python Mysqldb游标没有属性'fetchAll'

时间:2019-01-29 15:43:44

标签: python mysql mysql-python

我不断收到错误“ AttributeError:'Cursor'对象没有属性'fetchAll'”。我的rowCount是451,所有查询都可以正常工作。

我已经研究了这个问题,大多数错误都涉及在fetchAll()的返回值上调用cursor.execute(),但这不是我在这里所做的。

#initialize cursors
presswiseCursor = presswiseConnection.cursor()
localCursor = localConnection.cursor()

#products
#initialize table
localCursor.execute("DROP TABLE IF EXISTS products;")
localCursor.execute("CREATE TABLE products (id INT NOT NULL, description VARCHAR(255));")
#get data from presswise
rowCount = presswiseCursor.execute("SELECT DISTINCT id, description FROM list_product;")
print(rowCount)
rows = presswiseCursor.fetchAll()
#add data to local
for row in rows:
    localCursor.execute(f'INSERT INTO products (id, description) VALUES({row[0]}{row[1]})')

我想遍历查询的结果,并且以前使用过这种精确的技术。我的代码有什么问题?

2 个答案:

答案 0 :(得分:0)

您是否尝试过不将cursor.execute()分配给变量,然后再调用cursor.fetchAll()

然后要获取行数,只需在len(rows)之后执行fetchAll()

旁注,但是为什么在sql语句上使用三引号?

答案 1 :(得分:0)

使用:

 fetchall() 

代替:

fetchAll() 

在python3中。