繁体   English   中英

如何检查记录是否存在

[英]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.

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