2016-09-29 26 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"