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

如何解决sqlite3.ProgrammingError:绑定参数1不支持list类型错误

解决SQLite插入时的list类型绑定错误

错误根源很直接:你把site对应的输入值tb包装成了列表tbb = [tb],执行INSERT语句时又把这个列表作为第一个参数传给SQLite,但SQLite不支持直接绑定列表类型的数据,所以触发了ProgrammingError。

修正后的代码

import random
import pyperclip as pc  # 假设你用的是pyperclip做复制

lower = "abcdefghijklmnopqrstuvwxyz"
upper = lower.upper()
numbers = "0123456789"
symbols = "@"

# 别用all当变量名,它是Python内置函数,换个名字避免冲突
all_chars = lower + upper + numbers + symbols
length = int(ipt['crt'])

# 注意这里要加个点,是"".join而不是""join
password = "".join(random.sample(all_chars, length))
pc.copy(password)
tb = ipt['site']

# 直接传tb(单个值),不要传列表tbb
cur.execute("INSERT INTO senhas(site, senha) VALUES(?, ?)", (tb, password))
print(tb)

额外提醒

  1. 避免使用all这类Python内置关键字/函数名当变量名,容易引发隐性问题;
  2. 你原代码里的password =""join(...)少了个英文点,属于语法错误,修正后才能正常运行。

内容的提问来源于stack exchange,提问作者Renzo-M

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.13 14:52:03