得到一个错误:
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
Run Code Online (Sandbox Code Playgroud)
在数据库的表中插入数据时,我想要带有主键整数的 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()
Run Code Online (Sandbox Code Playgroud)
请在插入时指定您的列,这很重要,是的,不要NULL为id列包含 a或任何值!
cur.execute("INSERT INTO book(title, author, year, isbn) VALUES (?,?,?,?)",
(title, author, year, isbn))
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
12839 次 |
| 最近记录: |