zhibo/修复直播间主播数据.sql

50 lines
1.6 KiB
MySQL
Raw Normal View History

2026-01-03 15:32:31 +08:00
USE zhibo;
-- 1. 查看当前有哪些主播
SELECT uid, nickname, phone, is_streamer
FROM eb_user
WHERE is_streamer = 1
ORDER BY uid
LIMIT 10;
-- 2. 查看有多少直播间的uid为空或无效
SELECT
COUNT(*) as total_rooms,
SUM(CASE WHEN uid IS NULL OR uid = 0 THEN 1 ELSE 0 END) as invalid_uid_count,
SUM(CASE WHEN uid IS NOT NULL AND uid > 0 THEN 1 ELSE 0 END) as valid_uid_count
FROM eb_live_room;
-- 3. 查看uid无效的直播间
SELECT id, uid, title, streamer_name, stream_key
FROM eb_live_room
WHERE uid IS NULL OR uid = 0 OR uid NOT IN (SELECT uid FROM eb_user)
LIMIT 10;
-- 4. 选择一个默认主播选择第一个认证主播或者指定某个uid
-- 假设选择 uid=318 作为默认主播(根据之前的数据,这个用户有很多关注记录)
SET @default_streamer_id = 318;
-- 验证这个主播是否存在
SELECT uid, nickname, phone, is_streamer
FROM eb_user
WHERE uid = @default_streamer_id;
-- 5. 将所有uid无效的直播间分配给默认主播
UPDATE eb_live_room
SET uid = @default_streamer_id,
streamer_name = (SELECT nickname FROM eb_user WHERE uid = @default_streamer_id)
WHERE uid IS NULL OR uid = 0 OR uid NOT IN (SELECT uid FROM eb_user);
-- 6. 验证修复结果
SELECT
COUNT(*) as total_rooms,
SUM(CASE WHEN uid IS NULL OR uid = 0 THEN 1 ELSE 0 END) as invalid_uid_count,
SUM(CASE WHEN uid IS NOT NULL AND uid > 0 THEN 1 ELSE 0 END) as valid_uid_count
FROM eb_live_room;
-- 7. 查看修复后的直播间
SELECT id, uid, title, streamer_name, is_live
FROM eb_live_room
ORDER BY id DESC
LIMIT 10;