2016-09-29 54 views
0

这里是我的查询语法错误在Python更新

x.execute("UPDATE details SET name =%s,"(form.newname)"WHERE name =%s," (form.name)) 

正在逐渐syntax error。可有人请帮助解决它

+0

在'SET'后面加逗号并加上适当的间距:'x.execute(“UPDATE DETAIL SET name =%s”(form.newname)“WHERE name =%s”(form.name))' –

+0

我试过但同样的错误。 thanx for comment – Edison

回答

1

基于语法:cursor.execute(sql_query,参数)

应该是这样:

x.execute("UPDATE details SET name = %s WHERE name = %s", (form.newname, form.name)) 
+0

execute()至多需要3个参数(给出4个参数)。 ..am越来越喜欢这个错误 – Edison

+0

我忘了()周围的参数。发布编辑 –

0

如果您想更新那些与结尾的名称字母 “s”

,那么你必须在where子句中LIKE操作员使用

update destails set name ="adfsf" where name like '%s' 
+0

我不想用字母s来更新名称。我想要将form.name中的名称更新为form.new name < - (这些是文本框) – Edison

0

你可以试试:

x.execute("""UPDATE details SET name = "%s" WHERE name = "%s" """, (form.newname, form.name)) 

如果form.newnameform.nameTEXT数据库中的字段,必须通过带括号的%s"%s"