简体   繁体   English

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

[英]Why INSERT INTO doesn't work in python

i have problem with SQLite3 in Python (using PyCharm + Python 3.5 on W10). 我在Python中使用SQLite3有问题(在W10上使用PyCharm + Python 3.5)。 The insert doesn't work 插入无效

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);")

If I run sqlite3.exe in the directory afterwards, open the db and write commands in cmd.exe console: 如果此后在目录中运行sqlite3.exe,请打开db并在cmd.exe控制台中编写命令:

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

The very same insert works. 完全相同的插入作品。 I am confused... 我很困惑...

The python library of SQLITE3 is transactional, meaning that it doesn't commit to the database until you commit the changes. SQLITE3的python库是事务性的,这意味着它在提交更改之前不会提交到数据库。

after the INSERT INTO statement put the line: 在INSERT INTO语句之后放置以下行:

conn.commit()

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM