Не обновляется таблица в SQLite3 python

Рейтинг: 0Ответов: 1Опубликовано: 18.08.2023

У меня есть код:

import sqlite3

conn = sqlite3.connect('data.sql')
cur = conn.cursor()
cur.execute('CREATE TABLE IF NOT EXISTS data (user_name varchar(20),form_name varchar(35),field_x int,field_y int,form_field varchar)')


def update(user_name,form_name,field_x,field_y,form_field):
    cur.execute('INSERT INTO data(user_name,form_name,field_x,field_y,form_field) VALUES(?,?,?,?,?);',(user_name,form_name,field_x,field_y,form_field))
    conn.commit()


def stop():
    cur.close()
    conn.close()
    print('Соединение прервано')
    

update('Вася','хз',3,3,'qwerty')

stop()

Почему-то когда я вызываю функцию 'update'(с разными аргументами), SQL таблица ('data.sql') никак не изменяется. Помогите, пожалуйста решить эту проблему.

Заранее спасибо!

Ответы

▲ 0

Вопрос где вы смотрите обновление. Через какой-нибудь HeidiSQL или другую GUI'шку? Так там принудительно надо обновлять, чтобы увидеть изменения.

Всё у вас пишется нормально, скопировал ваш код, запустил без изменений.
Записи проверить можно обычным SELECT'ом:

import sqlite3

conn = sqlite3.connect('data.sql')
cur = conn.cursor()

cur.execute('SELECT * FROM data')
rows = cur.fetchall()

for row in rows:
    print(row)

cur.close()
conn.close()
Вывод:
('Вася', 'хз', 3, 3, 'qwerty')