-- URS用户推荐关系表添加农场用户ID字段 -- 执行时间: 2025-06-19 05:10:00 -- 说明: 为URS用户推荐关系表添加农场用户ID字段,用于存储用户和推荐人的农场用户ID -- 注意: 字段位置在urs_referrer_id之后,referral_time之前 -- ===================================================== -- 1. 为URS用户推荐关系表添加农场用户ID字段(正确位置) -- ===================================================== -- 如果字段已存在但位置不正确,先删除再重新添加 -- ALTER TABLE `kku_urs_promotion_user_referrals` DROP COLUMN IF EXISTS `user_id`; -- ALTER TABLE `kku_urs_promotion_user_referrals` DROP COLUMN IF EXISTS `referrer_id`; -- 添加用户农场ID字段(在urs_referrer_id之后) ALTER TABLE `kku_urs_promotion_user_referrals` ADD COLUMN `user_id` BIGINT UNSIGNED NOT NULL DEFAULT 0 COMMENT '农场用户ID(可能为0)' AFTER `urs_referrer_id`; -- 添加推荐人农场ID字段(在user_id之后) ALTER TABLE `kku_urs_promotion_user_referrals` ADD COLUMN `referrer_id` BIGINT UNSIGNED NOT NULL DEFAULT 0 COMMENT '推荐人的农场用户ID(可能为0)' AFTER `user_id`; -- ===================================================== -- 2. 添加索引优化查询性能 -- ===================================================== -- 添加用户农场ID索引 ALTER TABLE `kku_urs_promotion_user_referrals` ADD INDEX `idx_user_id` (`user_id`); -- 添加推荐人农场ID索引 ALTER TABLE `kku_urs_promotion_user_referrals` ADD INDEX `idx_referrer_id` (`referrer_id`); -- 添加组合索引用于推荐关系查询 ALTER TABLE `kku_urs_promotion_user_referrals` ADD INDEX `idx_user_referrer` (`user_id`, `referrer_id`); -- ===================================================== -- 3. 验证表结构 -- ===================================================== -- 查看表结构确认修改 DESCRIBE `kku_urs_promotion_user_referrals`; -- 显示索引信息 SHOW INDEX FROM `kku_urs_promotion_user_referrals`; -- ===================================================== -- 4. 数据初始化说明 -- ===================================================== -- 注意:根据用户要求,不做兼容处理,没有历史数据 -- 新字段默认值为0,表示尚未绑定农场用户 -- 用户进入农场后,需要批量更新这些字段 -- 示例更新语句(实际使用时需要在服务层实现): -- UPDATE `kku_urs_promotion_user_referrals` r -- INNER JOIN `kku_urs_promotion_user_mappings` um ON r.urs_user_id = um.urs_user_id -- INNER JOIN `kku_urs_promotion_user_mappings` rm ON r.urs_referrer_id = rm.urs_user_id -- SET -- r.user_id = um.user_id, -- r.referrer_id = rm.user_id -- WHERE r.status = 1 -- AND um.status = 1 -- AND rm.status = 1;