我正在尝试从我的 python 脚本中执行 SQLite 插入。
我收到一个错误:
table history has 4 columns but 3 values were supplied
Run Code Online (Sandbox Code Playgroud)
之所以有3而不是4,是因为第一个是我的ID。我假设当我将它声明为主键时,它会自动递增该值。如何插入身份证
.py:
c.execute("INSERT INTO history VALUES (?,?,?)", (q[0],t,in))
Run Code Online (Sandbox Code Playgroud)
。D b
CREATE TABLE history (id integer primary key, employeeID integer, time datetime, inout varchar);
Run Code Online (Sandbox Code Playgroud)
您要么必须为所有列提供值,要么明确命名要插入的列。SQLite 不会去猜测您为哪些列提供了值,您需要明确说明它们。
您可以使用 aNULL让 SQLite 为您插入一个自动生成的 ID:
c.execute("INSERT INTO history VALUES (NULL,?,?,?)", (q[0],t,in))
Run Code Online (Sandbox Code Playgroud)
或者您可以明确命名要插入的 3 列:
c.execute("INSERT INTO history (employeeID, time, inout) VALUES (?,?,?)", (q[0],t,in))
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
5341 次 |
| 最近记录: |