Python脚本

时间:2018-05-11 21:19:09

标签: python-3.x sqlite discord.py

我目前正在研究一种在服务器中实现某种经济性的不和谐机器人。

在实现向SQLite数据库添加项目的功能时,我遇到了这个问题:

    cur.execute("INSERT INTO items (?,?,?,?,?,?)", item)
sqlite3.OperationalError: near "?": syntax error

我已经切换到"?"作为占位符感谢this帖子并找到this帖子,但它对我没什么帮助。

所有值都是通过discord中的命令参数获得的,并被强制转换为string或int。 我使用SQLiteStudio并将数据类型设置为" Text"和"整数"分别

conn = create_connection(db_file)
        with conn:
            cur = conn.cursor()
            item = (itemname, price, info_text, buy_text, use_text, role,)
            market = (itemname, stock,)
            cur.execute("INSERT INTO items (?,?,?,?,?,?)", item)
            cur.execute("INSERT INTO market (?,?)", market)

1 个答案:

答案 0 :(得分:0)

您的SQL查询无效。 INSERT的语法是

之一
INSERT INTO table VALUES (...)
INSERT INTO table (columns) VALUES (...)

因此,您应该可以将查询更改为

cur.execute("INSERT INTO items VALUES (?,?,?,?,?,?)", item)

这将解决它。 (docs