Получение ошибки:
Traceback (most recent call last):
File "frontend.py", line 2, in <module>
import backend
File "/Users/egonsaks/Desktop/Demo/backend.py", line 28, in <module>
insert("The sea", "John Tablet", 1918, 987654331)
File "/Users/egonsaks/Desktop/Demo/backend.py", line 15, in insert
cur.execute("INSERT INTO book VALUES (NULL,?,?,?,?)",(title, author, year, isbn))
sqlite3.OperationalError: table book has 6 columns but 5 values were supplied
Мне нужен столбец id с целым числом первичного ключа при вставке данных в таблицу в базе данных. Я проверил свой код в соответствии с руководством и посмотрел в переполнении стека решение подобных проблем, но не нашел решения. Протестировал некоторые вещи, такие как удаление нуля, но затем говорится, что было предоставлено 6 столбцов и 4 значения.
Код здесь:
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()