首页
学习
活动
专区
工具
TVP
发布
社区首页 >问答首页 >Sqlite3 -使用Python代码更新表- %s附近出现语法错误

Sqlite3 -使用Python代码更新表- %s附近出现语法错误
EN

Stack Overflow用户
提问于 2012-03-24 10:41:30
回答 2查看 33.8K关注 0票数 15

这是我的Python代码-

代码语言:javascript
复制
cursor.execute("""UPDATE tasks SET task_owner=%s,task_remaining_hours=%s,                      task_impediments=%s,task_notes=%s WHERE task_id=%s""",                      (new_task_owner,new_task_remaining_hours,new_task_impediments,
                      new_task_notes,task_id))

这是我在SQLite3管理器(火狐扩展)中尝试的SQL语句。

代码语言:javascript
复制
UPDATE tasks SET task_owner=%s,task_remaining_hours=%d,task_impediments=%s,task_notes=%s WHERE task_id=%d,("sumod",10,"none","test",1)   

我得到的错误是-

代码语言:javascript
复制
sqlite3.OperationalError: near "%": syntax error

我已经尝试了许多网络搜索,包括SO、教程和自我故障排除,但这个错误并没有消失。我到底做错了什么。

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2012-03-24 10:46:38

我认为Python的SQLite实现使用了?占位符,而不像MySQLdb的%sReview the documentation.

代码语言:javascript
复制
cursor.execute("""UPDATE tasks SET task_owner = ? ,task_remaining_hours = ?,task_impediments = ?,task_notes = ? WHERE task_id= ? """,
  (new_task_owner,new_task_remaining_hours,new_task_impediments,new_task_notes,task_id))
票数 31
EN

Stack Overflow用户

发布于 2019-05-10 08:37:00

也可以使用%s:

代码语言:javascript
复制
cursor.execute("UPDATE tasks SET task_owner='%s', task_remaining_hours='%s', 
task_impediments = '%s', task_notes = '%s' WHERE task_id= '%s' " % 
(new_task_owner,new_task_remaining_hours,new_task_impediments,new_task_notes,task_id))
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/9848697

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档