-- 为 T_Likes 表添加唯一索引 -- 防止同一用户对同一目标重复点赞 -- 检查索引是否已存在,如果不存在则创建 IF NOT EXISTS ( SELECT 1 FROM sys.indexes WHERE name = 'IX_T_Likes_User_Target' AND object_id = OBJECT_ID('T_Likes') ) BEGIN CREATE UNIQUE NONCLUSTERED INDEX IX_T_Likes_User_Target ON T_Likes(UserId, TargetType, TargetId); PRINT '索引 IX_T_Likes_User_Target 创建成功'; END ELSE BEGIN PRINT '索引 IX_T_Likes_User_Target 已存在,跳过创建'; END -- 说明: -- 1. 此索引确保同一用户不能对同一目标(帖子或评论)重复点赞 -- 2. 唯一索引会在数据库层面防止并发导致的重复数据 -- 3. 执行此脚本前请备份数据库 -- 4. 如果表中已有重复数据,创建索引会失败,需要先清理重复数据