mysql 当我尝试更新一行中的多个值时,SQL Python抛出错误

yuvru6vn  于 2023-10-15  发布在  Mysql
关注(0)|答案(1)|浏览(129)
c.execute('update MainDB set name=%s, set opportunity=%s, set value=%s, set stage=%s, set startdate=%s, set lastupdate=%s where rowid = %s',(name,opportunity,value,Stage,startdate,date,rowid))

我有一个表MainDB,它有列

name (text), 
opportunity (text), 
value (int), 
stage (int), 
startdate (text) 
lastupdate (text)

使用这行代码,我希望更新行中的所有值,但它会导致错误
您的SQL语法中有错误
我找不到任何其他语法,工程上的净。我的语法有什么问题?

9jyewag0

9jyewag01#

在UPDATE语句中,您只需要使用SET关键字一次。然后是一个逗号分隔的赋值列表。
错误:

update MainDB set name=%s, set opportunity=%s, set value=%s, set stage=%s, 
  set startdate=%s, set lastupdate=%s where ...

更正:

update MainDB set name=%s, opportunity=%s, value=%s, stage=%s,
  startdate=%s, lastupdate=%s where ...

这在语法参考和documentation for UPDATE syntax中显示的示例中很清楚。

相关问题