Курсор Python Mysqldb не имеет атрибута 'fetchAll' - PullRequest
0 голосов
/ 29 января 2019

Я получаю сообщение об ошибке «AttributeError: объект« Курсор »не имеет атрибута« 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 голосов
/ 29 мая 2019

используйте fetchall () вместо fetchAll () в python3.Спасибо.

0 голосов
/ 29 января 2019

Вы пытались не приписывать cursor.execute() переменной, а затем вызывать cursor.fetchAll()?

Затем, чтобы получить количество строк, просто выполните len(rows) после fetchAll()

Примечание, но почему вы используете тройные кавычки в операторе sql?

...