CREATE TABLE `course` ( `id` INT PRIMARY KEY AUTO_INCREMENT COMMENT '月度课程ID', `series_id` INT NOT NULL COMMENT '所属系列ID', -- 时间标识 `year` INT NOT NULL COMMENT '开课年份(如2026)', `month` TINYINT NOT NULL COMMENT '几月(1~12,例如 3 表示3月份)', -- 课程信息 `title` VARCHAR(255) NOT NULL COMMENT '月度课程名称', `description` TEXT COMMENT '月度课程简介', `cover_image` VARCHAR(500) COMMENT '月度课程封面', -- 价格与售卖 `price` INTEGER NOT NULL DEFAULT 0 COMMENT '售价(分)', `original_price` INTEGER NOT NULL DEFAULT 0 COMMENT '原价/划线价', `is_published` TINYINT DEFAULT 1 COMMENT '是否上架:1-下架 2-上架', -- 时间戳 `created_at` TIMESTAMP NULL DEFAULT NULL COMMENT '创建时间', `updated_at` TIMESTAMP NULL DEFAULT NULL COMMENT '更新时间', FOREIGN KEY (`series_id`) REFERENCES `course_series` (`id`) ON DELETE CASCADE, -- 唯一约束:同一系列同一年同一月份只能有一条记录 UNIQUE KEY `uk_series_year_month` (`series_id`, `year`, `month`) ) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COMMENT='月度课程表';