You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

使用Python单变量向SQLite数据库表单字段插入数据的正确方法

Python变量向SQLite单字段插入数据的正确写法

报错原因说明

  • 第一种写法报错原因:sqlite3.Cursor.execute()的第二个参数要求传入序列类型(元组/列表),你直接传单个wi_criteria变量,SQLite会把字符串这类可迭代的单个变量拆分成多个字符去对应占位符,占位符数量和绑定值数量不匹配,就会报绑定错误。
  • 第二种写法报错原因:首先f-string拼接SQL本身不推荐,其次你语法有两处错误:少了VALUES后的左括号、语句末尾少了闭合的双引号,就算补全符号,如果wi_criteria是字符串类型没有自带引号,也会继续报语法错误。

正确写法(推荐使用参数化查询,避免SQL注入风险)

# 注意单个参数的元组必须加末尾逗号,否则Python不会识别为元组
crsr.execute("INSERT INTO PBI(Acceptance_Criteria) VALUES (?)", (wi_criteria,))
connection.commit()

如果习惯用列表传参也可以写成:

crsr.execute("INSERT INTO PBI(Acceptance_Criteria) VALUES (?)", [wi_criteria])
connection.commit()

注意事项

不要自行拼接SQL字符串,参数化查询会自动处理不同数据类型的转义、引号包裹逻辑,既不会有语法问题,也能避免SQL注入漏洞。

内容的提问来源于stack exchange,提问作者Abhishek Rai

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.09.24 11:45:03