Сначала я извлек список колледжей с сайта колледжа в виде кортежа кортежей:Получение TypeError при вставке данных в базу данных
((«имя1», «ADDRESS1»), («name2», 'address2'), ('name3', 'address3'))
тогда я хочу написать это в базе данных с именем 'sample' и в таблице 'collegelist'. Таблица имеет два поля (имя VARCHAR (400) NOT NULL, адрес VARCHAR (500)):
Вот код:
for college in tuples:
cursor.execute('INSERT INTO collegelist (name, address) VALUES ("%s", "%s")') %(college[0], college[1])
db.commit()
db.close()
Но всегда дают следующие TypeError:
TypeError: unsupported operand type(s) for %: 'long' and 'tuple'
Я также попытался вставить только имена и оставить адреса, затем я получил следующий тип Ошибка:
TypeError: unsupported operand type(s) for %: 'long' and 'str'
Теперь я делаю не понимаю, откуда пришел длинный тип. В программе есть только строки и кортежи.
Note: Names and addresses of colleges have single quotes, double quotes, dash, period.
Зачем возникает эта ошибка и как ее удалить? Заранее спасибо.
Передача значений параметров для выполнения() помогает предотвратить [атака инъекции SQL] (http://www.unixwiz.net/techtips/sql-injection.html), потому что экранирующие символы интерпретируются как часть стоимости , и не может влиять на запрос. – invert