Files
ccdi/doc/database-index-validation.md
wkc a6a872b478 docs: 添加数据库唯一索引验证报告
- 验证 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 <noreply@anthropic.com>
2026-02-08 15:53:35 +08:00

2.3 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

验证 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

表结构确认:

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

审核状态

已完成验证并创建唯一索引