Python 为什么在SQLITE3中会出现这种语法错误?
我正试图将两个Python 为什么在SQLITE3中会出现这种语法错误?,python,sqlite,Python,Sqlite,我正试图将两个列表保存到我的sqlite3数据库中。这是我的代码: import sqlite con=sqlite3.connect('output.db') cur=con.cursor() cur.execute('CREATE TABLE IF NOT EXISTS output(name VARCHAR(10),content VARCHAR(30))') for i in range(len(X)): cur.execute('INSERT INTO out
列表
保存到我的sqlite3数据库中。这是我的代码:
import sqlite
con=sqlite3.connect('output.db')
cur=con.cursor()
cur.execute('CREATE TABLE IF NOT EXISTS output(name VARCHAR(10),content VARCHAR(30))')
for i in range(len(X)):
cur.execute('INSERT INTO output(X,VALUES(?))',(X[i]))
cur.execute('INSERT INTO output(Y,VALUES(?))',(Y[i]))
con.commit()
cur.close()
con.close()
我有两个列表,分别是X=['abc','def']
和Y=['ghi','jkl']
。但每次我运行这段代码时,都会出现一个操作错误
:
OperationalError: near "VALUES": syntax error
请帮帮我。如何修复此问题?插入
命令无效
INSERT INTO table_name (column1, column2, column3, ...)
VALUES (value1, value2, value3, ...);
应该如此
query = 'INSERT INTO output (name, content) VALUES(?, ?)'
for i in range(len(X)):
cur.execute(query, ('X', X[i]))
cur.execute(query, ('Y', Y[i]))
要获得更可靠的解决方案,您可以使用dict
data = {'X': X, 'Y': Y}
for key, values in data.items():
for value in values:
cur.execute('INSERT INTO output (name, content) VALUES(?, ?)', (key, value))
什么是@Abhishek的值(?)
中的第二个括号?现在只有1个值(?)
我得到一个错误TypeError:function最多接受2个参数(给定3个)
@Abhishek其中@Abhishek Trycur.execute(查询,('X',X[I])