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