2016-09-29 1 views
0

вот мой запросошибки синтаксиса в MySQL Query для обновления в питоне

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

подводит syntax error .can кого Просьбу помочь исправить это

+0

Убейте запятую после 'SET' и добавьте соответствующий интервал:' x.execute ("UPDATE details SET name =% s" (form.newname) "WHERE name =% s" (form.name)) ' –

+0

Я попробовал но та же ошибка. спасибо за комментарий – 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"

, то вы должны использовать LIKE оператора в пункте где

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

Я не пытаюсь обновить имена с буквой s. i хочу обновить имя от form.name до form.new name <- (это текстовые поля) – Edison

0

Вы можете попробовать:

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

Если form.newname и form.nameTEXT являются полей в базе данных, вы должны пройти %s с круглыми скобками "%s"

Смежные вопросы