Sqlite 插入查询不适用于python?

2021-12-08 00:00:00 python sqlite

我一直在尝试使用 python 中的以下代码将数据插入数据库:

I have been trying to insert data into the database using the following code in python:

import sqlite3 as db
conn = db.connect('insertlinks.db')
cursor = conn.cursor()
db.autocommit(True)
a="asd"
b="adasd"
cursor.execute("Insert into links (link,id) values (?,?)",(a,b))
conn.close()

代码运行没有任何错误.但是不会对数据库进行更新.我尝试添加 conn.commit() 但它给出了一个错误,说找不到模块.请帮忙?

The code runs without any errors. But no updation to the database takes place. I tried adding the conn.commit() but it gives an error saying module not found. Please help?

推荐答案

插入后必须提交:

cursor.execute("Insert into links (link,id) values (?,?)",(a,b))
conn.commit()

或使用 连接作为上下文管理器:

with conn:
    cursor.execute("Insert into links (link,id) values (?,?)", (a, b))

或通过将 isolation_level 关键字参数设置为 connect() 方法为 None 来正确设置自动提交:

or set autocommit correctly by setting the isolation_level keyword parameter to the connect() method to None:

conn = db.connect('insertlinks.db', isolation_level=None)

请参阅控制事务.

相关文章