一. 发表评论功能
1.1 创建评论管理表
id:唯一的主键;content:评论的内容;
moment_id:评论哪条动态(外键约束 moment.id,不能为空);
user_id:谁评论?(外键约束 users_id,不能为空);
comment_id:评论的id。说明:为null时,表示评论该条动态,为3时,表示评论第3条评论
createAt:评论创建的时间;updateAt:评论更新的时间
CREATE TABLE IF NOT EXISTS `comment`(
id INT PRIMARY KEY AUTO_INCREMENT,
content VARCHAR(1000) NOT NULL,
moment_id INT NOT NULL,
user_id INT NOT NULL,
comment_id INT DEFAULT NULL,
createAt TIMESTAMP DEFAULT CURRENT_TIMESTAMP,
updateAt TIMESTAMP DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP,
FOREIGN KEY(moment_id) REFERENCES moment(id) ON DELETE CASCADE ON UPDATE CASCADE,
FOREIGN KEY(user_id) REFERENCES user(id) ON DELETE CASCADE ON UPDATE CASCADE,
FOREIGN KEY(comment_id) REFERENCES comment(id) ON DELETE CASCADE ON UPDATE CASCADE
);
CASCADE
定义:在父表上
update/delete记录时,同步update/delete掉子表的匹配记录
删除:删除主表时自动删除从表。删除从表,主表不变
更新:更新主表时自动更新从表。更新从表,主表不变
场景:当某条动态删除了,与之相关的评论也随之删除。
注意:
- 服务器报 500 的错误,可能是逻辑不通,代码不对