Python 3.x can';t通过python3在sqlite数据库中插入记录
我想使用python、sqlite制作动画列表 但是当我尝试这个脚本时 它说'sqlite3.error:没有这样的列:一个标题'Python 3.x can';t通过python3在sqlite数据库中插入记录,python-3.x,sqlite,Python 3.x,Sqlite,我想使用python、sqlite制作动画列表 但是当我尝试这个脚本时 它说'sqlite3.error:没有这样的列:一个标题' 我缺少什么?您应该使用参数化查询 import sqlite3 conn = sqlite3.connect('animelist.sqlite') cur = conn.cursor() cur.execute('''DROP TABLE IF EXISTS Lists''') cur.execute('''CREATE TABLE Lists (Title
我缺少什么?您应该使用参数化查询
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
在这里,我不接受用户输入。但是它会将数据插入到表中。您应该使用参数化查询
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库文档中有许多示例—查找调用带有许多问号的查询时执行的位,并将一组值传递给函数。您需要使用占位符将变量绑定到语句中。python sqlite库文档中有很多示例—查找调用带有许多问号的查询时执行的位,并向函数传递一个值元组。我尝试了所有答案,但只有在添加“conn.commit()”时才有效。您能解释一下吗?我是一个新手连接提交是告诉数据库写所有的更改。请看:我尝试了所有答案,但只有当我添加“conn.commit()”时它才起作用。您能解释一下吗?我是一个新手连接提交是告诉数据库写所有的更改。见: