我目前正在研究一种在服务器中实现某种经济性的不和谐机器人。
在实现向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)
答案 0 :(得分:0)
您的SQL查询无效。 INSERT的语法是
之一INSERT INTO table VALUES (...)
INSERT INTO table (columns) VALUES (...)
因此,您应该可以将查询更改为
cur.execute("INSERT INTO items VALUES (?,?,?,?,?,?)", item)
这将解决它。 (docs)