zhibo/Zhibo/zhibo-h/sql/add_works_hot_fields.sql

55 lines
1.7 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.

-- 添加作品热门相关字段
-- 执行时间2026-01-08
USE `zhibo`;
-- 检查字段是否已存在,如果不存在则添加
-- 添加 is_hot 字段(如果不存在)
SET @col_exists = 0;
SELECT COUNT(*) INTO @col_exists
FROM information_schema.COLUMNS
WHERE TABLE_SCHEMA = 'zhibo'
AND TABLE_NAME = 'eb_works'
AND COLUMN_NAME = 'is_hot';
SET @sql = IF(@col_exists = 0,
'ALTER TABLE `eb_works` ADD COLUMN `is_hot` tinyint DEFAULT 0 COMMENT ''是否热门1-是 0-否'' AFTER `status`',
'SELECT ''字段 is_hot 已存在'' AS message');
PREPARE stmt FROM @sql;
EXECUTE stmt;
DEALLOCATE PREPARE stmt;
-- 添加 hot_time 字段(如果不存在)
SET @col_exists = 0;
SELECT COUNT(*) INTO @col_exists
FROM information_schema.COLUMNS
WHERE TABLE_SCHEMA = 'zhibo'
AND TABLE_NAME = 'eb_works'
AND COLUMN_NAME = 'hot_time';
SET @sql = IF(@col_exists = 0,
'ALTER TABLE `eb_works` ADD COLUMN `hot_time` datetime DEFAULT NULL COMMENT ''设置热门的时间'' AFTER `is_hot`',
'SELECT ''字段 hot_time 已存在'' AS message');
PREPARE stmt FROM @sql;
EXECUTE stmt;
DEALLOCATE PREPARE stmt;
-- 添加索引(如果不存在)
SET @index_exists = 0;
SELECT COUNT(*) INTO @index_exists
FROM information_schema.STATISTICS
WHERE TABLE_SCHEMA = 'zhibo'
AND TABLE_NAME = 'eb_works'
AND INDEX_NAME = 'idx_is_hot';
SET @sql = IF(@index_exists = 0,
'ALTER TABLE `eb_works` ADD INDEX `idx_is_hot` (`is_hot`)',
'SELECT ''索引 idx_is_hot 已存在'' AS message');
PREPARE stmt FROM @sql;
EXECUTE stmt;
DEALLOCATE PREPARE stmt;
-- 查看最终结果
SHOW COLUMNS FROM `eb_works` LIKE '%hot%';
SELECT '作品热门字段添加完成!' AS result;