假设我创建一个数据库并使用以下代码添加所需的表、列:
import sqlite3
connection = sqlite3.connect("clients.db", check_same_thread=False)
cursor = connection.cursor()
cursor.execute("CREATE TABLE IF NOT EXISTS customers(user_id INT, user_name, dt_string)")
cursor.execute("""INSERT INTO customers VALUES(?, ?. ?);""", (user_id, user_name, dt_string))
connection.commit()
现在我知道我可以使用此代码在输入时删除此行
cursor.execute("""DELETE FROM customers WHERE user_id=?;""", (user_id,) )
connection.commit()
如何等待一定时间才能删除此条目?我知道使用
time.sleep
和 threading
可以实现这一点,但我想知道是否还有其他方法。
如果您不想使用
time.sleep
删除表中的条目,您可以简单地使用此方法从数据库中删除该条目。
cursor.execute("CREATE TABLE IF NOT EXISTS customers(user_id INT, user_name TEXT, dt_string TEXT, created_at INT)")
import time
# Get the current timestamp
enter code here
created_at = int(time.time())
# Insert the entry with the created_at timestamp
cursor.execute("INSERT INTO customers VALUES(?, ?, ?, ?);", (user_id, user_name, dt_string, created_at))
connection.commit()
deletion time period
添加到 created_at
时间,如果它晚于当前时间,则需要删除该项目。为此,您可以简单地创建一个 cron 作业或后台任务调度程序(阅读有关 cron 作业的信息)。希望有帮助!