Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/python-3.x/18.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/templates/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python 3.x can';t通过python3在sqlite数据库中插入记录_Python 3.x_Sqlite - Fatal编程技术网

Python 3.x can';t通过python3在sqlite数据库中插入记录

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

我想使用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 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()”时它才起作用。您能解释一下吗?我是一个新手连接提交是告诉数据库写所有的更改。见: