58 lines
1.5 KiB
SQL
58 lines
1.5 KiB
SQL
-- ============================================
|
||
-- 诊断 userId=1 的消息数据问题
|
||
-- 创建时间: 2026-01-27
|
||
-- ============================================
|
||
|
||
-- 1. 检查用户1是否存在
|
||
SELECT '=== 检查用户1是否存在 ===' AS step;
|
||
SELECT * FROM user WHERE id = 1;
|
||
|
||
-- 2. 检查用户1的消息数量
|
||
SELECT '=== 检查用户1的消息数量 ===' AS step;
|
||
SELECT COUNT(*) as total_messages FROM message WHERE user_id = 1 OR receiver_id = 1;
|
||
|
||
-- 3. 检查是否有异常的消息记录(NULL字段)
|
||
SELECT '=== 检查异常消息记录 ===' AS step;
|
||
SELECT * FROM message
|
||
WHERE (user_id = 1 OR receiver_id = 1)
|
||
AND (
|
||
id IS NULL
|
||
OR user_id IS NULL
|
||
OR receiver_id IS NULL
|
||
OR content IS NULL
|
||
OR created_time IS NULL
|
||
)
|
||
LIMIT 10;
|
||
|
||
-- 4. 检查消息表结构
|
||
SELECT '=== 检查消息表结构 ===' AS step;
|
||
DESCRIBE message;
|
||
|
||
-- 5. 查看用户1最近的消息记录
|
||
SELECT '=== 用户1最近的消息记录 ===' AS step;
|
||
SELECT * FROM message
|
||
WHERE user_id = 1 OR receiver_id = 1
|
||
ORDER BY created_time DESC
|
||
LIMIT 10;
|
||
|
||
-- 6. 检查是否有外键约束问题
|
||
SELECT '=== 检查外键约束 ===' AS step;
|
||
SELECT
|
||
TABLE_NAME,
|
||
COLUMN_NAME,
|
||
CONSTRAINT_NAME,
|
||
REFERENCED_TABLE_NAME,
|
||
REFERENCED_COLUMN_NAME
|
||
FROM INFORMATION_SCHEMA.KEY_COLUMN_USAGE
|
||
WHERE TABLE_NAME = 'message'
|
||
AND REFERENCED_TABLE_NAME IS NOT NULL;
|
||
|
||
-- 7. 检查未读消息统计
|
||
SELECT '=== 检查未读消息统计 ===' AS step;
|
||
SELECT
|
||
receiver_id,
|
||
COUNT(*) as unread_count
|
||
FROM message
|
||
WHERE receiver_id = 1 AND is_read = 0
|
||
GROUP BY receiver_id;
|