import sqlite3
conn = sqlite3.connect('animelist.sqlite')
cur = conn.cursor()
cur.execute('''DROP TABLE IF EXISTS Lists''')
cur.execute('''CREATE TABLE Lists (Title TEXT, Genre TEXT, Production TEXT,
Year TEXT)''')
while True:
a_title = input('Insert title: ')
a_genre = input('Insert genre: ')
a_production = input('Insert production: ')
a_year = input('Insert year: ')
cur.execute('''INSERT INTO Lists (Title, Genre, Production, Year) VALUES
(a_title, a_genre, a_production, a_year)''')
print('Data is inserted')
dbexit = input('EXIT (y/n): ')
if dbexit == 'y':
break
elif dbexit == 'n':
continue
我想使用python,sqlite制作动画列表
但是当我尝试该脚本时,
它说'sqlite3.OperationalError:没有这样的列:a_title'
我想念什么?
答案 0 :(得分:2)
您应该使用参数化查询。
import sqlite3
conn = sqlite3.connect('animelist.sqlite')
cur = conn.cursor()
cur.execute('''DROP TABLE IF EXISTS Lists''')
cur.execute('''CREATE TABLE Lists (Title TEXT, Genre TEXT, Production TEXT, Year TEXT)''')
a_title = 'Title'
a_genre = 'Genre'
a_production = 'Production'
a_year = 2018
cur.execute('''INSERT INTO Lists (Title, Genre, Production, Year) VALUES(?,?,?,?)''', (a_title, a_genre, a_production, a_year))
conn.commit()
在这里,我不接受用户输入。但是它将数据插入到表中。