为什么 INSERT INTO 在 python 中不起作用

Why INSERT INTO doesn't work in python

我在 Python 中遇到 SQLite3 问题(在 W10 上使用 PyCharm + Python 3.5)。插入不起作用

import sqlite3

conn = sqlite3.connect("test.db")
c = conn.cursor()
c.execute("DROP TABLE Normal;") # to clean data
c.execute("CREATE TABLE Normal (Invoice INTEGER);")
c.execute("INSERT INTO Normal (Invoice) VALUES (24);")

如果我在运行 sqlite3.exe之后的目录中,打开数据库并在cmd.exe控制台中写入命令:

sqlite> .open test.db;
sqlite> select * from Normal;
sqlite> INSERT INTO Normal (Invoice) VALUES (24);
sqlite> select * from Normal;
24

完全相同的插入工作。我很困惑...

SQLITE3 的 python 库是事务性的,这意味着在您提交更改之前它不会提交给数据库。

在 INSERT INTO 语句之后放置以下行:

conn.commit()