-- 号码布与证件号同为人员的唯一标识(二选一即可)。历史数据没有号码布,允许为空; -- 用部分唯一索引只约束「填了号码布」的行,空值可以有多条。 ALTER TABLE athletes ADD COLUMN bib TEXT; CREATE UNIQUE INDEX IF NOT EXISTS idx_athletes_bib ON athletes(bib) WHERE bib IS NOT NULL AND bib <> '';