Python 为什么此sqlite3更新会出现语法错误?

Python 为什么此sqlite3更新会出现语法错误?,python,sqlite,Python,Sqlite,我有一个函数,它删除一些表并重新初始化一个工作正常的新集合,然后在用以下内容更新现有表时: self.cursor.execute('''UPDATE beers1 SET (beer_name, og, fg, beer_desc, ibu, glass_type, keg_size) VALUES (?,?,?,?,?,?,?) where id=1''',("Beer", 1, 1, "Delicious!", 0, "Pint Glass", 640)) 这就给了我: Ope

我有一个函数,它删除一些表并重新初始化一个工作正常的新集合,然后在用以下内容更新现有表时:

self.cursor.execute('''UPDATE beers1 SET (beer_name, og, fg, beer_desc, ibu, glass_type, keg_size) 
    VALUES (?,?,?,?,?,?,?) where id=1''',("Beer", 1, 1, "Delicious!", 0, "Pint Glass", 640))
这就给了我:

OperationalError: near "(": syntax error

任何见解都会非常有用。谢谢

UPDATE语句的标准SQL语法为:

UPDATE beers1
   SET (beer_name, og, fg, beer_desc, ibu, glass_type, keg_size) =
       (?, ?, ?, ?, ?, ?, ?)
 WHERE id = 1
或:


您需要检查SQLite3手册,以查看SQLite3支持哪一个。第二个几乎可以保证得到支持;第一个可能不是。

因为您使用的语法不正确:语法不允许这样的构造:
UPDATE beers1
   SET beer_name = ?, og = ?, fg = ?,
       beer_desc = ?, ibu = ?, glass_type = ?, keg_size = ?
 WHERE id = 1