sqlite3 |数据不保存在表中



当我运行它时,代码可以工作,但当我再次运行时,上一次运行的数据不会保存,但表仍然存在。我已经尝试了很多保存文件的方法,但它仍然不能保存

import sqlite3
conn = sqlite3.connect('conntact.db')
cursor = conn.cursor()
check = cursor.execute("SELECT name FROM sqlite_master WHERE type='table' AND name='contacts'");

if check == 0:
cursor.execute('''CREATE TABLE contacts
(ID INTEGER PRIMARY KEY AUTOINCREMENT,
NAME            TEXT    NOT NULL,
EMAIL           TEXT    NOT NULL,
PHONE           TEXT    NOT NULL);''');
def add_contacts():
name1 = input("Enter contact name: ")
email1 = input("Enter contact email: ")
phone1 = input("Enter contact phone number: ")
id_s = input("Enter id: ")
cursor.execute("INSERT INTO contacts (ID, NAME,EMAIL,PHONE) VALUES (?,?,?,?)", (id_s, name1, email1, phone1));

def read_all_contact():
cursor.execute("SELECT * FROM contacts");
records = cursor.fetchall()
print(f"Total rows are: {len(records)}")
for row in records:
print(f'ID: {row[0]}')
print(f'Name: {row[1]}')
print(f'Email: {row[2]}')
print(f'Phone: {row[3]}n')


add_contacts()
read_all_contact()
conn.close()

任何帮助都会使失效

  1. 删除check = ...行,这是错误的
  2. 删除if check == 0
  3. 替换";CREATE TABLE contacts";用";CREATE TABLE IF NOT EXISTS contacts">
  4. 执行conn.commit((

最新更新