Python MySQLdb не выполняется с именованными заполнителями - PullRequest
0 голосов
/ 23 мая 2018

Я действительно стараюсь выполнить запрос 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()
...