2.9 KiB
2.9 KiB
数据库唯一索引验证报告
验证日期
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) - ❌ 不满足唯一性要求
执行操作:
-- 删除原有普通索引
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
最终索引状态:
- ✅ PRIMARY KEY:
biz_id - ✅ UNIQUE KEY:
uk_person_id(Non_unique = 0) - ✅ INDEX:
idx_name(普通索引) - ✅ INDEX:
idx_mobile(普通索引)
完整索引列表:
SHOW INDEX FROM ccdi_biz_intermediary;
| Key_name | Column_name | Non_unique | Index_type |
|---|---|---|---|
| PRIMARY | biz_id | 0 | BTREE |
| uk_person_id | person_id | 0 | BTREE |
| idx_name | name | 1 | BTREE |
| idx_mobile | mobile | 1 | BTREE |
2. 实体中介表 (ccdi_enterprise_base_info)
检查项: social_credit_code 主键
检查前状态:
- ✅
social_credit_code已为 PRIMARY KEY - 字段类型: varchar(50)
- 约束: NOT NULL
- 引擎: InnoDB
表结构确认:
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自动去重和更新
注意事项
- 唯一索引约束: 导入数据时,如果
person_id重复,将自动执行更新操作 - 性能影响: 唯一索引会在插入和更新时进行唯一性检查,对性能有轻微影响
- 数据完整性: 唯一索引确保了数据的唯一性,防止重复数据
执行人员
Claude Code AI Assistant
审核状态
✅ 已完成验证并创建唯一索引
✅ 文档已提交到 git (commit: a6a872b)