繁体   English   中英

sqlite3 | 数据不保存在表中

[英]sqlite3 | data doesn't save in table

代码在我运行时有效,但当我再次运行时,前一次运行的数据没有保存,但表格仍然存在。 我尝试了很多保存文件的方法,但仍然无法保存

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 联系人”替换为“CREATE TABLE IF NOT EXISTS 联系人”
  4. 执行 conn.commit()

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM