MySQL:设计一张聊天室表
时间: 2024-12-16 15:24:37 浏览: 2
MySQL设计一张聊天室表(chat_room)可以帮助我们存储关于聊天室的基本信息以及相关的用户活动数据。这里是一个基本的设计示例:
```sql
CREATE TABLE chat_room (
id INT AUTO_INCREMENT PRIMARY KEY, -- 聊天室ID,自增长
name VARCHAR(50) NOT NULL, -- 聊天室名称
topic VARCHAR(100), -- 主题描述
created_at TIMESTAMP DEFAULT CURRENT_TIMESTAMP, -- 创建时间
modified_at TIMESTAMP ON UPDATE CURRENT_TIMESTAMP, -- 最后修改时间
is_public BOOLEAN DEFAULT true, -- 是否公开,0表示私有,1表示公开
admin_id INT, -- 管理员用户ID
FOREIGN KEY (admin_id) REFERENCES users(id) -- 外键关联到用户表
);
CREATE TABLE chat_message (
id INT AUTO_INCREMENT PRIMARY KEY,
room_id INT,
sender_id INT,
content TEXT NOT NULL,
timestamp DATETIME DEFAULT CURRENT_TIMESTAMP,
FOREIGN KEY (room_id) REFERENCES chat_room(id),
FOREIGN KEY (sender_id) REFERENCES users(id)
);
```
这个设计包括了两个表:
1. `chat_room`表:用于存储聊天室的基本信息,如ID、名称、主题、创建时间和管理员用户ID等。
2. `chat_message`表:记录每个消息,包含消息ID、发送者ID、内容、时间戳以及它所属的聊天室ID。
阅读全文