表結構
-- 用戶表
CREATE TABLE users (
user_id INT PRIMARY KEY AUTO_INCREMENT,
username VARCHAR(50) UNIQUE NOT NULL,
password_hash VARCHAR(100) NOT NULL,
email VARCHAR(100),
reg_time DATETIME DEFAULT CURRENT_TIMESTAMP
);
-- 主題/帖子表
CREATE TABLE topics (
topic_id INT PRIMARY KEY AUTO_INCREMENT,
title VARCHAR(200) NOT NULL,
content TEXT NOT NULL,
author_id INT NOT NULL,
post_time DATETIME DEFAULT CURRENT_TIMESTAMP,
view_count INT DEFAULT 0,
FOREIGN KEY (author_id) REFERENCES users(user_id)
);
-- 回復表
CREATE TABLE replies (
reply_id INT PRIMARY KEY AUTO_INCREMENT,
topic_id INT NOT NULL,
content TEXT NOT NULL,
author_id INT NOT NULL,
reply_time DATETIME DEFAULT CURRENT_TIMESTAMP,
FOREIGN KEY (topic_id) REFERENCES topics(topic_id),
FOREIGN KEY (author_id) REFERENCES users(user_id)
);
擴展建議
- 分類表 `categories`,`topics` 加 `category_id`。
- 版塊/權限表、積分表、私信表。
- 索引:`topics(author_id)`、`replies(topic_id, reply_time)`、`users(username)`。