Я действительно стараюсь выполнить запрос INSERT
, передав именованные заполнители, и он не работает.Это ошибка, которую я получаю: execute() got an unexpected keyword argument 'vid'
Вот мой код:
query = """INSERT INTO `index`
(`video_id`, `label`, `img`, `context`, `genre`, `kind`) VALUES
({vid}, {label}, {img}, {context}, {genre}, {kind}) ON DUPLICATE KEY UPDATE
label={label}, img={img}, context={context}, genre={genre}, kind={kind}
"""
self.db.insert(query, {
'vid': video_id,
'label': label,
'img': img_source,
'context': json.dumps(context),
'genre': slugify(self.genre),
'kind': self.kind
})
в моем обработчике БД:
def insert(self, query, params):
print(query.format(**params))
try:
self.cursor.execute(query, **params)
self.connection.commit()
except Exception as e:
print(e)
self.connection.rollback()
quit()