【问题标题】:sqlite-problem-sqlite3-operationalerror-near-where-syntax-errorsqlite-problem-sqlite3-operationalerror-near-where-syntax-error
【发布时间】:2021-03-01 18:40:06
【问题描述】:
我正在尝试将数据插入数据库,但出现错误:
sqlite-problem-sqlite3-operationalerror-near-where-syntax-error
这是我的代码:
c.execute(f"INSERT INTO math(qula) WHERE name = '{member.name}' VALUES({saboloo})")
【问题讨论】:
标签:
python
sqlite
sql-update
【解决方案1】:
我怀疑您想更新表 math 的现有行的列 qula 而不是插入新行。
此外,使用? 占位符也是一个好习惯:
c.execute("UPDATE math SET qula = ? WHERE name = ?", (saboloo, member.name))
【解决方案2】:
要将数据插入 sqlite3,首先您必须在 Python 标准库中导入 sqlite3 模块。然后,您通过将文件路径传递给 sqlite3 模块中的 connect (xxxx) 方法来连接到文件,如果您在 connect 方法中传递的数据库不存在,则将在该路径创建一个数据库,如果数据库存在,它将连接给它。
import sqlite3
con = sqlite3.connect('/path/xxx.sqlite3')
您必须使用 cursor() 方法创建一个光标对象
c = con.cursor()
您比 Prepare,SQL 查询将一条记录插入到数据库中。
c.execute(f"INSERT INTO math(qula) VALUES({saboloo})").
我希望这篇文章有所帮助。
您也可以从这里阅读更多内容Python SQLite insert data