#python
Вопрос:
Я знаю, что это обсуждалось пару раз, но следование предложениям все равно не решило мою проблему.
Я попытался воспроизвести учебник youtube по обновлению таблицы:
Код: Часть 1:
cursor.execute("CREATE DATABASE testdab")
cursor.execute("CREATE TABLE users (name VARCHAR(255), email VARCHAR(255), age INTEGER(10), user_id INTEGER AUTO_INCREMENT PRIMARY KEY)")
Часть 2:
insert_query = "INSERT INTO users (name, email, age) VALUES (%s, %s, %s)",
record1 = ("Peter", "peter@mail.com", 30)
cursor.execute(insert_query, record1)
Таблица успешно создана, но часть 2 выдает сообщение об ошибке: Ошибка атрибута: объект «кортеж» не имеет атрибута «кодировать»
У кого-нибудь есть идеи, что здесь происходит не так? Большое спасибо, Томас
Комментарии:
1. Дополнительная запятая в конце строки создает кортеж.
2. Следуя каким советам? Какое видео на YouTube?
Ответ №1:
у вас проблема с синтаксисом в конце строки после изменения запроса
insert_query = "INSERT INTO users (name, email, age) VALUES (%s, %s, %s)",
Для
insert_query = "INSERT INTO users (name, email, age) VALUES (%s, %s, %s)"
эта запятая создает insert_query
кортеж, и это вызывает проблему
, потому что вы должны указать cursor.execute()
строку в первом аргументе и кортеж во втором аргументе
Комментарии:
1. Привет, Аазерра, большое спасибо за вашу помощь и объяснение. Это работает!