首页 > 解决方案 > SQlite - 为什么我需要提交命令

问题描述

我使用 python(我的 IDE 是 pycharm)并且是 SQlite 的新手。我读到我必须使用提交来保存数据或更改,否则这些都不会保存到表中。我使用一个简单的代码在数据库中创建一个表,而不使用提交,定义标题并关闭数据库文件。然后使用 DB_Browser 打开文件并查看它是否已更新为我刚刚制作的内容。那么我的问题是为什么我需要提交命令?

import sqlite3
from sqlite3 import Error


# Connecting SQLite to the Database
def create_connection(db_file):
    """ create a database connection to a SQLite database """
    try:
        # Creates or opens a file called mydb with a SQLite3 DB
        db = sqlite3.connect(db_file)
        # Get a cursor object
        cursor = db.cursor()
        # Check if table users does not exist and create it
        cursor.execute('''CREATE TABLE IF NOT EXISTS
                              users(id INTEGER PRIMARY KEY, name TEXT, phone TEXT, email TEXT unique, password TEXT)''')
    except Error as e:
        # Roll back any change if something goes wrong
        db.rollback()
        raise e
    finally:
        # Close the db connection
        db.close()

fname = "mydb.db"
create_connection(fname)

标签: pythonsqlite

解决方案


显然,从这个链接

默认情况下,SQLite 处于自动提交模式。

感谢 Richard 指出此链接。


推荐阅读