/ / Sqlite вмъкване заявка не работи с Python? - питон, sqlite

Въпросът за вмъкване в Sqlite не работи с Python? - питън, sqlite

Опитвам се да вмъкна данни в базата данни, като използвам следния код в 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() но тя дава грешка казвам модул не е намерен. Моля помогнете?

Отговори:

29 за отговор № 1

Трябва да се ангажирате след въвеждането:

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

или използвайте връзка като мениджър на контекста:

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

или правилно задайте autocommit, като зададете isolation_level параметър за ключова дума connect() метод към None:

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

виждам Контролни сделки.


1 за отговор № 2

Може да е малко късно, но да зададете autocommit = true спести ми времето! особено ако имате скрипт, за да изпълните някакво групово действие като update/insert/delete...

справка: https://docs.python.org/2/library/sqlite3.html#sqlite3.Connection.isolation_level

това е начинът, който обикновено имам в моите скриптове:

def get_connection():
conn = sqlite3.connect("../db.sqlite3", isolation_level=None)
cursor = conn.cursor()
return conn, cursor

def get_jobs():
conn, cursor = get_connection()

if conn is None:
raise DatabaseError("Could not get connection")

Надявам се, че ще ви помогне!