zhibo/check_sensitive_word.sql
2026-01-05 16:58:39 +08:00

57 lines
2.9 KiB
SQL
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

-- =====================================================
-- 敏感词表检查和初始化脚本
-- 请在 Navicat 中逐步执行以下SQL
-- =====================================================
-- ========== 第1步检查表是否存在 ==========
SELECT '=== 检查表是否存在 ===' as step;
SHOW TABLES LIKE 'eb_sensitive_word';
-- ========== 第2步如果表不存在创建表 ==========
CREATE TABLE IF NOT EXISTS `eb_sensitive_word` (
`id` int UNSIGNED NOT NULL AUTO_INCREMENT COMMENT '主键ID',
`word` varchar(128) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL DEFAULT '' COMMENT '敏感词',
`category` varchar(32) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL DEFAULT 'default' COMMENT '分类',
`level` tinyint NOT NULL DEFAULT 1 COMMENT '级别 1=轻度 2=中度 3=重度',
`action` tinyint NOT NULL DEFAULT 1 COMMENT '处理方式 1=替换 2=拦截 3=警告',
`replace_text` varchar(32) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL DEFAULT '***' COMMENT '替换文本',
`status` tinyint NOT NULL DEFAULT 1 COMMENT '状态 0=禁用 1=启用',
`create_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间',
`update_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '更新时间',
PRIMARY KEY (`id`) USING BTREE,
UNIQUE KEY `uk_word` (`word`) USING BTREE,
KEY `idx_category` (`category`) USING BTREE
) ENGINE = InnoDB CHARACTER SET = utf8mb4 COLLATE = utf8mb4_general_ci COMMENT = '敏感词表' ROW_FORMAT = DYNAMIC;
-- ========== 第3步查看表结构 ==========
SELECT '=== 表结构 ===' as step;
DESCRIBE eb_sensitive_word;
-- ========== 第4步查看现有数据数量 ==========
SELECT '=== 现有数据数量 ===' as step;
SELECT COUNT(*) as total FROM eb_sensitive_word;
-- ========== 第5步插入测试数据如果没有数据 ==========
-- 使用 INSERT IGNORE 避免重复插入
INSERT IGNORE INTO `eb_sensitive_word` (`word`, `category`, `level`, `action`, `replace_text`, `status`, `create_time`) VALUES
('测试敏感词1', 'default', 1, 1, '***', 1, NOW()),
('测试敏感词2', 'default', 2, 1, '***', 1, NOW()),
('广告', 'spam', 1, 1, '**', 1, NOW()),
('推广', 'spam', 1, 1, '**', 1, NOW()),
('加微信', 'spam', 2, 2, '***', 1, NOW()),
('加QQ', 'spam', 2, 2, '***', 1, NOW()),
('色情', 'illegal', 3, 2, '***', 1, NOW()),
('赌博', 'illegal', 3, 2, '***', 1, NOW()),
('诈骗', 'illegal', 3, 2, '***', 1, NOW()),
('违法', 'illegal', 2, 2, '***', 1, NOW());
-- ========== 第6步查看所有数据 ==========
SELECT '=== 敏感词数据列表 ===' as step;
SELECT * FROM eb_sensitive_word ORDER BY id DESC;
-- ========== 第7步最终统计 ==========
SELECT '=== 最终统计 ===' as step;
SELECT COUNT(*) as total_count FROM eb_sensitive_word;
SELECT COUNT(*) as enabled_count FROM eb_sensitive_word WHERE status = 1;
SELECT COUNT(*) as disabled_count FROM eb_sensitive_word WHERE status = 0;