参考问卷星设计数据库表给出建表语句
时间: 2023-08-04 10:07:02 浏览: 95
以下是一个简单的问卷星数据库设计,涉及到两个表:`surveys` 和 `questions`。
```sql
-- 建立 surveys 表
CREATE TABLE surveys (
id INT PRIMARY KEY AUTO_INCREMENT,
title VARCHAR(255),
description TEXT,
created_at TIMESTAMP DEFAULT CURRENT_TIMESTAMP,
updated_at TIMESTAMP DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP
);
-- 建立 questions 表
CREATE TABLE questions (
id INT PRIMARY KEY AUTO_INCREMENT,
survey_id INT,
question_text TEXT,
question_type VARCHAR(20),
options TEXT,
created_at TIMESTAMP DEFAULT CURRENT_TIMESTAMP,
updated_at TIMESTAMP DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP,
FOREIGN KEY (survey_id) REFERENCES surveys(id) ON DELETE CASCADE
);
```
在上面的 `surveys` 表中,我们定义了一个自增的主键 `id`,一个标题 `title`,一个描述 `description`,以及两个时间戳 `created_at` 和 `updated_at`,用于跟踪问卷的创建和更新时间。
在 `questions` 表中,我们定义了一个自增的主键 `id`,一个外键 `survey_id`,用于与 `surveys` 表建立关联关系,一个问题文本 `question_text`,一个问题类型 `question_type`,和一个选项列表 `options`(用逗号分隔的字符串)。我们同样也定义了两个时间戳 `created_at` 和 `updated_at`。
注意,在 `questions` 表中,我们还定义了一个外键约束,它确保了当关联的 `surveys` 表中的记录被删除时,对应的 `questions` 表中的记录也会被删除。这是通过 `ON DELETE CASCADE` 实现的。