与copilot 结对编程系列 - log日志重复性检测 - 第3篇 - SQLite 数据库存储
import sqlite3
def create_connection(path):
conn = None
try:
conn = sqlite3.connect(path)
return conn
except sqlite3.Error as e:
print(f"Error connecting to sqlite database: {e}")
return conn
def insert_log(conn, log_id, log_content):
try:
cursor = conn.cursor()
cursor.execute("INSERT INTO logs (log_id, log_content) VALUES (?, ?)", (log_id, log_content))
conn.commit()
except sqlite3.Error as e:
print(f"Error inserting log into sqlite database: {e}")
def check_duplicate(conn, log_id, log_content):
cursor = conn.cursor()
cursor.execute("SELECT log_id, log_content FROM logs WHERE log_id = ? AND log_content = ?", (log_id, log_content))
rows = cursor.fetchall()
return len(rows) > 0
# 使用示例
# 创建或连接到数据库
conn = create_connection('./logs.db')
# 插入日志
log_id = "123"
log_content = "这是一条日志信息"
insert_log(conn, log_id, log_content)
# 检查日志是否重复
is_duplicate = check_duplicate(conn, log_id, log_content)
print(f"日志是否重复: {is_duplicate}")
# 关闭数据库连接
conn.close()
这段代码首先定义了创建数据库连接的函数create_connection
,以及插入日志和检查日志是否重复的函数。使用示例展示了如何创建或连接到数据库,如何插入一条日志,并检查这条日志是否已存在于数据库中。最后,关闭了数据库连接。这个例子简洁地展示了SQLite数据库操作的基本流程,对于初学者来说是一个很好的教学示例。
评论已关闭