[英]Data not being added to database despite having conn.commit()
第一次在这里发帖,所以我为糟糕的格式道歉。 我最近开始使用 SQLite3 并查看了教程/说明,但我似乎无法使其正常工作,特别是添加数据不会将其提交到数据库。
import random, sqlite3
conn = sqlite3.connect('card.s3db')
cur = conn.cursor()
cur.execute("""CREATE TABLE card(
id INT,
number TEXT,
pin TEXT,
balance INT DEFAULT 0
);""")
conn.commit()
card_number = ''.join([str(i) for i in number_list_copy])
pin = ''.join(["{}".format(random.randint(0,9)) for i in range(0, 4)])
cur.execute("INSERT INTO card (number, pin) VALUES (?, ?)", (card_number, pin))
conn.commit()
我省略了一些代码,但本质上 card_number 只是一个字符串。 当我执行
cur.fetchall()
或者
cur.fetchone()
我分别得到一个空列表或没有。 我也尝试了不同的方法来插入数据,并在这里经历了一些线程。
谢谢!
insert
修改数据但没有结果。
要从数据库中获取数据,您必须使用select
查询。
例如:
cur.execute("SELECT number, pin FROM card")
the_data = cur.fetchall()
作为旁注,您可能希望将id
列设为主键:
id INTEGER PRIMARY KEY
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.