python mysqldb未使用命名占位符执行

zzlelutf  于 2021-06-20  发布在  Mysql
关注(0)|答案(0)|浏览(165)

我真的在努力执行一个 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()

暂无答案!

目前还没有任何答案,快来回答吧!

相关问题