错误:表格书有4列,但提供了5个值

时间:2018-06-14 14:20:35

标签: python

获取错误:

“插入     cur.execute(“INSERT INTO book VALUES(NULL,?,?,?,?)”,(标题,作者,年份,isbn)) sqlite3.OperationalError:表格书有4列,但提供了5个值“

在代码下面运行时,我希望在数据库中的表中插入数据时使用主键整数id列。

import sqlite3

def connect():
    conn=sqlite3.connect("books.db")
    cur=conn.cursor()
    cur.execute("CREATE TABLE IF NOT EXISTS book (id INTEGER PRIMARY KEY, title text, author text, year integer, isbn integer)")
    conn.commit()
    conn.close()

def insert(title,author,year,isbn):
    conn=sqlite3.connect("books.db")
    cur=conn.cursor()
    cur.execute("INSERT INTO book VALUES (NULL,?,?,?,?)" ,(title,author,year,isbn))
    conn.commit()
    conn.close()

请帮忙。

1 个答案:

答案 0 :(得分:0)

为什么要将NULL放入book VALUES (NULL,?,?,?,?)?尝试不使用NULL

cur.execute("INSERT INTO book VALUES (?,?,?,?)" ,(title,author,year,isbn))