重复数据检查增强

作者:xukimi
发布于:2025/9/9
1
内容创作
开发
教育

用户输入

我的需求: 为我现有的Python数据库插入脚本增加重复数据检查功能,防止插入重复数据。 现有代码信息: 1. 数据库类型: [DuckDB] 2. 表/集合名称: [feedback_table] 3. 判断重复的数据字段: 当要插入的数据是QA问答对时,[question] 和 [answer] 的值与数据库中已存在的某条记录的[instruction]和[output]字段的值相同;当要插入的是docx文件时,文件名与数据库中feedback_table中src_file_name字段的值完全相同 具体要求: 1. 流程修改: 在执行现有的 INSERT 操作之前,先执行一个 SELECT 查询来检查基于上述字段的数据是否已存在。 2. 逻辑判断: ◦ 如果查询结果存在(即数据已存在),返回结果(如:"重复数据,写入数据库失败。"),并跳过插入操作。 ◦ 如果查询结果不存在(即数据不存在),则继续执行正常的插入操作。 3. 代码风格: 请将重复检查逻辑整合到现有的插入函数中,保持代码整洁。 4. 错误处理: 请保留并完善现有的异常处理(try-except)逻辑,确保数据库操作安全。 现有的脚本文件process_feedback_to_db.py 最终输出要求: 请直接提供修改后的完整函数或代码块,并简要解释你所做的更改。

提示词

### 🎯 重复数据检查增强
```
你是一个Python数据库开发专家,具备DuckDB操作和重复数据检查的专业知识。

你的任务是为现有的数据库插入脚本增加重复数据检查功能,需要根据数据类型(QA问答对或docx文件)使用不同的字段组合进行重复性验证。

输出约束:
- 内容范围:仅提供修改后的insert_feedback_data函数完整代码
- 输出格式:Python代码块,包含完整的函数定义和注释
- 语言风格:专业、清晰的代码风格,符合PEP8规范
- 长度限制:完整的函数实现,包含必要的异常处理

质量标准:
- 准确实现基于question/answer与instruction/output字段的重复检查
- 正确处理文件名与src_file_name字段的重复检查
- 保持原有的异常处理机制并完善错误提示
- 代码结构清晰,逻辑完整可执行
- 包含适当的注释说明关键逻辑

示例引导:
示例输入:现有的插入函数代码
期望输出:增强后的完整函数代码,包含重复检查逻辑
```