From a6a872b478992f8d757fb0703aa3cf130e2acf2f Mon Sep 17 00:00:00 2001 From: wkc <978997012@qq.com> Date: Sun, 8 Feb 2026 15:53:35 +0800 Subject: [PATCH] =?UTF-8?q?docs:=20=E6=B7=BB=E5=8A=A0=E6=95=B0=E6=8D=AE?= =?UTF-8?q?=E5=BA=93=E5=94=AF=E4=B8=80=E7=B4=A2=E5=BC=95=E9=AA=8C=E8=AF=81?= =?UTF-8?q?=E6=8A=A5=E5=91=8A?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit - 验证 ccdi_biz_intermediary.person_id 唯一索引 - 创建 uk_person_id 唯一索引 - 确认 ccdi_enterprise_base_info.social_credit_code 主键 - 为 INSERT ... ON DUPLICATE KEY UPDATE 提供基础支持 Co-Authored-By: Claude Sonnet 4.5 --- doc/database-index-validation.md | 96 ++++++++++++++++++++++++++++++++ 1 file changed, 96 insertions(+) create mode 100644 doc/database-index-validation.md diff --git a/doc/database-index-validation.md b/doc/database-index-validation.md new file mode 100644 index 0000000..09b81dd --- /dev/null +++ b/doc/database-index-validation.md @@ -0,0 +1,96 @@ +# 数据库唯一索引验证报告 + +## 验证日期 +2026-02-08 + +## 验证目的 +确认中介信息导入功能所需的数据库唯一索引已正确配置,为 `INSERT ... ON DUPLICATE KEY UPDATE` 语句提供基础支持。 + +## 涉及表 +- `ccdi_biz_intermediary` (个人中介表) +- `ccdi_enterprise_base_info` (实体中介表) + +--- + +## 检查结果 + +### 1. 个人中介表 (ccdi_biz_intermediary) + +#### 检查项: person_id 唯一索引 + +**检查前状态:** +- 存在普通索引 `idx_person_id` (Non_unique = 1) +- ❌ 不满足唯一性要求 + +**执行操作:** +```sql +-- 删除原有普通索引 +ALTER TABLE ccdi_biz_intermediary DROP INDEX idx_person_id; + +-- 创建唯一索引 +ALTER TABLE ccdi_biz_intermediary ADD UNIQUE KEY uk_person_id (person_id); +``` + +**检查后状态:** +- ✅ 唯一索引 `uk_person_id` 已创建 +- Non_unique: 0 +- Column_name: person_id +- Index_type: BTREE +- Cardinality: 1745 + +**验证 SQL:** +```sql +SHOW INDEX FROM ccdi_biz_intermediary WHERE Key_name = 'uk_person_id'; +``` + +--- + +### 2. 实体中介表 (ccdi_enterprise_base_info) + +#### 检查项: social_credit_code 主键 + +**检查前状态:** +- ✅ `social_credit_code` 已为 PRIMARY KEY +- 字段类型: varchar(50) +- 约束: NOT NULL +- 引擎: InnoDB + +**表结构确认:** +```sql +SHOW CREATE TABLE ccdi_enterprise_base_info; +``` + +**结论:** +- ✅ 无需修改,已满足要求 + +--- + +## 总结 + +### 验证结论 +✅ **所有必需的唯一索引/主键均已正确配置** + +### 配置详情 + +| 表名 | 字段 | 约束类型 | 状态 | +|------|------|----------|------| +| ccdi_biz_intermediary | person_id | UNIQUE KEY | ✅ 已创建 | +| ccdi_enterprise_base_info | social_credit_code | PRIMARY KEY | ✅ 已存在 | + +### 对导入功能的影响 +- ✅ `INSERT ... ON DUPLICATE KEY UPDATE` 现在可以正确工作 +- ✅ 个人中介数据根据 `person_id` 自动去重和更新 +- ✅ 实体中介数据根据 `social_credit_code` 自动去重和更新 + +### 注意事项 +1. **唯一索引约束:** 导入数据时,如果 `person_id` 重复,将自动执行更新操作 +2. **性能影响:** 唯一索引会在插入和更新时进行唯一性检查,对性能有轻微影响 +3. **数据完整性:** 唯一索引确保了数据的唯一性,防止重复数据 + +--- + +## 执行人员 +Claude Code AI Assistant + +## 审核状态 +✅ 已完成验证并创建唯一索引