mysql内建立3个表,分别为post reoly user,请给出代码
时间: 2023-09-09 19:04:50 浏览: 152
创建三个表.sql
### 回答1:
以下是建立post、reply和user表的mysql代码:
CREATE TABLE post (
post_id INT NOT NULL AUTO_INCREMENT PRIMARY KEY,
title VARCHAR(255) NOT NULL,
content TEXT NOT NULL,
user_id INT NOT NULL,
created_at DATETIME DEFAULT CURRENT_TIMESTAMP,
updated_at DATETIME DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP
);
CREATE TABLE reply (
reply_id INT NOT NULL AUTO_INCREMENT PRIMARY KEY,
post_id INT NOT NULL,
content TEXT NOT NULL,
user_id INT NOT NULL,
created_at DATETIME DEFAULT CURRENT_TIMESTAMP,
updated_at DATETIME DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP
);
CREATE TABLE user (
user_id INT NOT NULL AUTO_INCREMENT PRIMARY KEY,
name VARCHAR(255) NOT NULL,
email VARCHAR(255) NOT NULL,
password VARCHAR(255) NOT NULL,
created_at DATETIME DEFAULT CURRENT_TIMESTAMP,
updated_at DATETIME DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP
);
### 回答2:
在 MySQL 中,可以使用以下代码来创建三个表post、reply和user:
1. 创建post表:
```sql
CREATE TABLE post (
post_id INT PRIMARY KEY AUTO_INCREMENT,
title VARCHAR(100) NOT NULL,
content TEXT NOT NULL,
user_id INT,
create_time TIMESTAMP DEFAULT CURRENT_TIMESTAMP,
FOREIGN KEY (user_id) REFERENCES user(user_id)
);
```
2. 创建reply表:
```sql
CREATE TABLE reply (
reply_id INT PRIMARY KEY AUTO_INCREMENT,
post_id INT,
content TEXT NOT NULL,
user_id INT,
create_time TIMESTAMP DEFAULT CURRENT_TIMESTAMP,
FOREIGN KEY (post_id) REFERENCES post(post_id),
FOREIGN KEY (user_id) REFERENCES user(user_id)
);
```
3. 创建user表:
```sql
CREATE TABLE user (
user_id INT PRIMARY KEY AUTO_INCREMENT,
username VARCHAR(50) NOT NULL,
email VARCHAR(100) NOT NULL
);
```
以上代码创建了三个表:post(帖子)、reply(回复)和user(用户),其中post和reply表分别与user表存在外键关联(user_id)。
注意:上述代码只是提供了表的结构定义,具体的使用和数据插入需要根据实际需求和业务逻辑进行设计和实现。
### 回答3:
建立3个表post、reply和user的代码如下:
1. 创建post表的代码:
```sql
CREATE TABLE post (
id INT PRIMARY KEY AUTO_INCREMENT,
title VARCHAR(100) NOT NULL,
content TEXT,
create_time TIMESTAMP DEFAULT CURRENT_TIMESTAMP,
user_id INT,
FOREIGN KEY (user_id) REFERENCES user(id)
);
```
post表包含id、title、content、create_time和user_id字段。其中id为主键自增,title为文章标题,content为文章内容,create_time为创建时间,默认值为当前时间戳,user_id为关联到user表的外键。
2. 创建reply表的代码:
```sql
CREATE TABLE reply (
id INT PRIMARY KEY AUTO_INCREMENT,
content TEXT,
create_time TIMESTAMP DEFAULT CURRENT_TIMESTAMP,
post_id INT,
user_id INT,
FOREIGN KEY (post_id) REFERENCES post(id),
FOREIGN KEY (user_id) REFERENCES user(id)
);
```
reply表包含id、content、create_time、post_id和user_id字段。其中id为主键自增,content为回复内容,create_time为创建时间,默认值为当前时间戳,post_id为关联到post表的外键,user_id为关联到user表的外键。
3. 创建user表的代码:
```sql
CREATE TABLE user (
id INT PRIMARY KEY AUTO_INCREMENT,
username VARCHAR(50) NOT NULL,
email VARCHAR(100) NOT NULL,
password VARCHAR(100) NOT NULL
);
```
user表包含id、username、email和password字段。其中id为主键自增,username为用户名,email为邮箱,password为密码。
阅读全文