我有一个函数可以删除一些表并重新初始化一个工作正常的新集合,然后当它使用以下内容更新现有表时:
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
任何见解都会非常有用。谢谢!
答案 0 :(得分:0)
UPDATE语句的标准SQL语法是:
UPDATE beers1
SET (beer_name, og, fg, beer_desc, ibu, glass_type, keg_size) =
(?, ?, ?, ?, ?, ?, ?)
WHERE id = 1
或者:
UPDATE beers1
SET beer_name = ?, og = ?, fg = ?,
beer_desc = ?, ibu = ?, glass_type = ?, keg_size = ?
WHERE id = 1
您需要检查SQLite3手册以查看SQLite3支持哪些内容。第二个几乎得到支持;第一个可能不是。