sqlite3.接口错误:错误绑定参数0 -可能不支持的类型:当我知道类型是整数



我试图创建一个数据库,其中值看起来像这样:

Member Name: Amount of Warnings Given

基本上,我循环遍历所有成员名并将给出的警告次数设置为0。但我总是得到错误"sqlite3"。接口错误:错误绑定参数0 -可能不支持类型。">

这是我的代码:

@bot.event
async def on_guild_join(guild):
print ("Bot deployed to server")
conn = sqlite3.connect(guild.name+"-database.db")
cursor = conn.cursor()
cursor.execute("CREATE TABLE IF NOT EXISTS warnings (name TEXT, amount_of_warnings INTEGER)")
for member in guild.members:
cursor.execute("INSERT INTO warnings VALUES(?,?)",(member,int(0)))
  1. 为什么它说0是一个不支持的类型,即使我确保使"amount_of_warnings"一个整数吗?
  2. 如何修复此错误?
  3. 有没有办法做得更好?

memberdiscord.Member对象,您不能将其存储在数据库中。您需要使用member.name来存储它。

您还可以通过使用cursor.executemany()一次插入所有成员来提高效率。

params = [(member.name, 0) for member in guild.members]
cursor.executemany("INSERT INTO warnings VALUES(?,?)", params)

相关内容

最新更新