From 98785fc42121de7cae154441138d345160a34cc1 Mon Sep 17 00:00:00 2001 From: Wonder Date: Fri, 17 Oct 2025 22:59:29 +0800 Subject: [PATCH] =?UTF-8?q?=20=F0=9F=93=9DDocs:=20=E7=BC=96=E5=86=99?= =?UTF-8?q?=E6=95=B0=E6=8D=AE=E5=BA=93=E5=88=9D=E5=A7=8B=E5=8C=96=E8=84=9A?= =?UTF-8?q?=E6=9C=AC?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- README.md | 11 ++++++++++- init.sql | 36 ++++++++++++++++++++++++++++++++++++ 2 files changed, 46 insertions(+), 1 deletion(-) create mode 100644 init.sql diff --git a/README.md b/README.md index 893c98d..59fac41 100644 --- a/README.md +++ b/README.md @@ -25,4 +25,13 @@ ### 博客模块 1. 获取博客 -2. 获取博客列表 \ No newline at end of file +2. 获取博客列表 + +## QA + +1. 如何从数据库层面杜绝重复数据出现? + +答:对于 `thumb` 表,使用联合唯一索引 +```mysql +CREATE UNIQUE INDEX idx_userId_blogId ON thumb (userId, blogId); +``` \ No newline at end of file diff --git a/init.sql b/init.sql new file mode 100644 index 0000000..5e8f8f0 --- /dev/null +++ b/init.sql @@ -0,0 +1,36 @@ +# 创建数据库 +CREATE DATABASE IF NOT EXISTS thumb_up; + +# 切换数据库 +USE thumb_up; + +# 用户表 +CREATE TABLE IF NOT EXISTS user +( + id BIGINT AUTO_INCREMENT PRIMARY KEY COMMENT 'id', + username VARCHAR(128) NOT NULL COMMENT '用户名' +); + +# 博客表 +CREATE TABLE IF NOT EXISTS blog +( + id BIGINT AUTO_INCREMENT PRIMARY KEY COMMENT 'id', + userId BIGINT NOT NULL COMMENT '用户 id', + title VARCHAR(512) NULL COMMENT '标题', + coverImg VARCHAR(1024) NULL COMMENT '封面', + content TEXT NOT NULL COMMENT '内容', + thumbCount INT DEFAULT 0 NOT NULL COMMENT '点赞数', + createTime DATETIME DEFAULT CURRENT_TIMESTAMP NOT NULL COMMENT '创建时间', + updateTime DATETIME DEFAULT CURRENT_TIMESTAMP NOT NULL ON UPDATE CURRENT_TIMESTAMP COMMENT '更新时间' +); +CREATE INDEX idx_userId ON blog(userId); + +# 点赞记录表 +CREATE TABLE IF NOT EXISTS thumb +( + id BIGINT AUTO_INCREMENT PRIMARY KEY COMMENT 'id', + userId BIGINT NOT NULL COMMENT '用户 id', + blogId BIGINT NOT NULL COMMENT '博客 id', + createTime DATETIME DEFAULT CURRENT_TIMESTAMP NOT NULL COMMENT '创建时间' +); +CREATE UNIQUE INDEX idx_userId_blogId ON thumb (userId, blogId) ; \ No newline at end of file