160 lines
7.3 KiB
SQL
160 lines
7.3 KiB
SQL
-- =====================================================
|
||
-- 为用户"道玄"(ID: 121)创建缺失的表并添加测试数据
|
||
-- =====================================================
|
||
|
||
-- =====================================================
|
||
-- 1. 创建观看历史表 (eb_watch_history)
|
||
-- =====================================================
|
||
CREATE TABLE IF NOT EXISTS `eb_watch_history` (
|
||
`id` bigint(20) NOT NULL AUTO_INCREMENT COMMENT '主键ID',
|
||
`uid` int(11) NOT NULL COMMENT '用户ID',
|
||
`target_type` varchar(20) NOT NULL COMMENT '目标类型:room-直播间, work-作品',
|
||
`target_id` varchar(50) NOT NULL COMMENT '目标ID',
|
||
`target_title` varchar(200) DEFAULT NULL COMMENT '目标标题',
|
||
`target_cover` varchar(500) DEFAULT NULL COMMENT '目标封面',
|
||
`duration` int(11) DEFAULT 0 COMMENT '观看时长(秒)',
|
||
`watch_time` datetime DEFAULT NULL COMMENT '观看时间',
|
||
`create_time` datetime DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间',
|
||
PRIMARY KEY (`id`),
|
||
KEY `idx_uid` (`uid`),
|
||
KEY `idx_target` (`target_type`, `target_id`),
|
||
KEY `idx_create_time` (`create_time`)
|
||
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COMMENT='观看历史表';
|
||
|
||
-- =====================================================
|
||
-- 2. 插入观看历史数据
|
||
-- =====================================================
|
||
INSERT INTO eb_watch_history (uid, target_type, target_id, target_title, target_cover, duration, watch_time, create_time) VALUES
|
||
(121, 'room', '1', '欢乐游戏直播', 'https://example.com/cover1.jpg', 1800, '2026-01-03 20:30:00', '2026-01-03 20:30:00'),
|
||
(121, 'room', '2', '音乐分享会', 'https://example.com/cover2.jpg', 2400, '2026-01-03 21:00:00', '2026-01-03 21:00:00'),
|
||
(121, 'room', '3', '户外探险直播', 'https://example.com/cover3.jpg', 900, '2026-01-02 19:00:00', '2026-01-02 19:00:00'),
|
||
(121, 'room', '4', '美食制作教程', 'https://example.com/cover4.jpg', 3600, '2026-01-02 12:00:00', '2026-01-02 12:00:00'),
|
||
(121, 'room', '5', '编程技术分享', 'https://example.com/cover5.jpg', 5400, '2026-01-01 14:00:00', '2026-01-01 14:00:00'),
|
||
(121, 'work', '1', '搞笑短视频合集', 'https://example.com/work1.jpg', 180, '2026-01-03 22:00:00', '2026-01-03 22:00:00'),
|
||
(121, 'work', '2', '旅行Vlog-云南之旅', 'https://example.com/work2.jpg', 600, '2026-01-03 18:00:00', '2026-01-03 18:00:00'),
|
||
(121, 'work', '3', '美妆教程分享', 'https://example.com/work3.jpg', 420, '2026-01-02 16:00:00', '2026-01-02 16:00:00');
|
||
|
||
-- =====================================================
|
||
-- 3. 检查并创建直播间点赞表
|
||
-- =====================================================
|
||
CREATE TABLE IF NOT EXISTS `eb_live_room_like` (
|
||
`id` bigint(20) NOT NULL AUTO_INCREMENT,
|
||
`uid` int(11) NOT NULL COMMENT '用户ID',
|
||
`room_id` int(11) NOT NULL COMMENT '直播间ID',
|
||
`like_count` int(11) DEFAULT 1 COMMENT '点赞次数',
|
||
`create_time` datetime DEFAULT CURRENT_TIMESTAMP,
|
||
PRIMARY KEY (`id`),
|
||
UNIQUE KEY `uk_uid_room` (`uid`, `room_id`),
|
||
KEY `idx_room_id` (`room_id`)
|
||
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COMMENT='直播间点赞表';
|
||
|
||
-- 插入直播间点赞数据
|
||
INSERT IGNORE INTO eb_live_room_like (uid, room_id, like_count, create_time) VALUES
|
||
(121, 1, 15, '2026-01-03 20:35:00'),
|
||
(121, 2, 28, '2026-01-03 21:15:00'),
|
||
(121, 3, 8, '2026-01-02 19:10:00'),
|
||
(121, 4, 42, '2026-01-02 12:30:00'),
|
||
(121, 5, 20, '2026-01-01 14:30:00');
|
||
|
||
-- =====================================================
|
||
-- 4. 插入作品关系数据(点赞和收藏)
|
||
-- =====================================================
|
||
-- 点赞作品 (type=1 或 type='like')
|
||
INSERT IGNORE INTO eb_works_relation (uid, works_id, type, create_time) VALUES
|
||
(121, 1, 1, '2026-01-03 22:05:00'),
|
||
(121, 2, 1, '2026-01-03 18:10:00'),
|
||
(121, 3, 1, '2026-01-02 16:15:00'),
|
||
(121, 4, 1, '2026-01-01 20:00:00'),
|
||
(121, 5, 1, '2026-01-01 15:00:00');
|
||
|
||
-- 收藏作品 (type=2 或 type='collect')
|
||
INSERT IGNORE INTO eb_works_relation (uid, works_id, type, create_time) VALUES
|
||
(121, 1, 2, '2026-01-03 22:06:00'),
|
||
(121, 2, 2, '2026-01-03 18:12:00'),
|
||
(121, 6, 2, '2026-01-02 10:00:00'),
|
||
(121, 7, 2, '2026-01-01 11:00:00');
|
||
|
||
-- =====================================================
|
||
-- 5. 插入关注记录
|
||
-- =====================================================
|
||
INSERT IGNORE INTO eb_follow_record (uid, follow_uid, create_time) VALUES
|
||
(121, 100, '2026-01-03 20:00:00'),
|
||
(121, 101, '2026-01-03 15:00:00'),
|
||
(121, 102, '2026-01-02 18:00:00'),
|
||
(121, 103, '2026-01-02 12:00:00'),
|
||
(121, 104, '2026-01-01 20:00:00'),
|
||
(121, 105, '2026-01-01 10:00:00');
|
||
|
||
-- 被关注记录
|
||
INSERT IGNORE INTO eb_follow_record (uid, follow_uid, create_time) VALUES
|
||
(100, 121, '2026-01-03 21:00:00'),
|
||
(101, 121, '2026-01-03 16:00:00'),
|
||
(106, 121, '2026-01-02 20:00:00'),
|
||
(107, 121, '2026-01-02 14:00:00');
|
||
|
||
-- =====================================================
|
||
-- 6. 插入搜索历史
|
||
-- =====================================================
|
||
INSERT IGNORE INTO eb_search_history (uid, keyword, search_type, search_count, create_time) VALUES
|
||
(121, '游戏直播', 1, 3, '2026-01-03 20:00:00'),
|
||
(121, '音乐', 1, 2, '2026-01-03 19:00:00'),
|
||
(121, '美食教程', 2, 1, '2026-01-02 11:00:00'),
|
||
(121, '旅行Vlog', 2, 2, '2026-01-02 10:00:00'),
|
||
(121, '编程学习', 1, 4, '2026-01-01 13:00:00'),
|
||
(121, '户外运动', 1, 1, '2026-01-01 09:00:00');
|
||
|
||
-- =====================================================
|
||
-- 7. 创建并插入好友关系
|
||
-- =====================================================
|
||
CREATE TABLE IF NOT EXISTS `eb_friend` (
|
||
`id` bigint(20) NOT NULL AUTO_INCREMENT,
|
||
`uid` int(11) NOT NULL COMMENT '用户ID',
|
||
`friend_uid` int(11) NOT NULL COMMENT '好友用户ID',
|
||
`remark` varchar(50) DEFAULT NULL COMMENT '备注名',
|
||
`create_time` datetime DEFAULT CURRENT_TIMESTAMP,
|
||
PRIMARY KEY (`id`),
|
||
UNIQUE KEY `uk_uid_friend` (`uid`, `friend_uid`)
|
||
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COMMENT='好友关系表';
|
||
|
||
INSERT IGNORE INTO eb_friend (uid, friend_uid, remark, create_time) VALUES
|
||
(121, 100, '游戏主播', '2026-01-03 21:35:00'),
|
||
(121, 101, '音乐达人', '2026-01-03 16:10:00'),
|
||
(100, 121, '道玄', '2026-01-03 21:35:00'),
|
||
(101, 121, '道玄', '2026-01-03 16:10:00');
|
||
|
||
-- =====================================================
|
||
-- 8. 更新用户余额和积分
|
||
-- =====================================================
|
||
UPDATE eb_user SET
|
||
now_money = 500.00,
|
||
integral = 1200,
|
||
experience = 350
|
||
WHERE uid = 121;
|
||
|
||
-- =====================================================
|
||
-- 9. 验证数据
|
||
-- =====================================================
|
||
SELECT '=== 用户道玄(ID:121)数据统计 ===' as 信息;
|
||
|
||
SELECT '观看历史' as 类型, COUNT(*) as 数量 FROM eb_watch_history WHERE uid = 121
|
||
UNION ALL
|
||
SELECT '直播间点赞', COUNT(*) FROM eb_live_room_like WHERE uid = 121
|
||
UNION ALL
|
||
SELECT '作品点赞', COUNT(*) FROM eb_works_relation WHERE uid = 121 AND type = 1
|
||
UNION ALL
|
||
SELECT '作品收藏', COUNT(*) FROM eb_works_relation WHERE uid = 121 AND type = 2
|
||
UNION ALL
|
||
SELECT '关注数', COUNT(*) FROM eb_follow_record WHERE uid = 121
|
||
UNION ALL
|
||
SELECT '粉丝数', COUNT(*) FROM eb_follow_record WHERE follow_uid = 121
|
||
UNION ALL
|
||
SELECT '搜索历史', COUNT(*) FROM eb_search_history WHERE uid = 121
|
||
UNION ALL
|
||
SELECT '好友数', COUNT(*) FROM eb_friend WHERE uid = 121;
|
||
|
||
-- 检查用户余额
|
||
SELECT uid, nickname, now_money as 余额, integral as 积分, experience as 经验
|
||
FROM eb_user WHERE uid = 121;
|
||
|
||
SELECT '数据插入完成!' as 结果;
|