[英]How to check if Record exists
我希望能够检查数据库中是否存在带有特定“ ID”的记录,如果不存在则创建一个记录(即,不存在),就像这样...我也想获取“ Num”更新后的特定记录。
import sqlite3 as lite
db = lite.connect("test.db")
id_to_be_added = "123456789101112"
db.execute("CREATE TABLE USERS (ID TEXT, NUM INT)")
Query = "{ SOMETHING IN SQL }" # This returns either True or False
if Query:
db.execute("UPDATE USERS SET NUM = NUM + 1 WHERE ID = {};".format(id_to_be_added))
else:
db.execute("INSERT INTO USERS ({}, 0)".format(id_to_be_added))
num_to_be_printed = db.execute("SELECT NUM FROM USERS WHERE ID = {}".format(id_to_be_added))
print("{0} has {1}").format(id_to_be_added, num_to_be_printed)
创建主键并使用INSERT OR REPLACE
查询,或使用SELECT
查询。
我能够使用cur.fetchall()解决它
import sqlite3 as lite
db = lite.connect(r"test.db")
id_tba = r"123456789101112"
cur = db.cursor()
cur.execute("SELECT * FROM USERS WHERE ID = {}".format(id_tba))
if len(cur.fetchall()) > 0:
db.execute("UPDATE USERS SET NUM = NUM + 1 WHERE ID = {};".format(id_tba))
else:
db.execute("INSERT INTO USERS ({}, 0)".format(id_tba))
num_to_be_printed = db.execute("SELECT NUM FROM USERS WHERE ID = {}".format(id_tba))
print("{0} has {1}").format(id_tba, num_to_be_printed)
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.