创建打卡任务表带sql
时间: 2023-09-02 09:06:24 浏览: 59
好的,以下是创建打卡任务表的 SQL 语句:
```sql
CREATE TABLE `task` (
`id` int(11) NOT NULL AUTO_INCREMENT,
`name` varchar(50) NOT NULL,
`description` text NOT NULL,
`start_date` date NOT NULL,
`end_date` date NOT NULL,
`assigned_to` varchar(50) NOT NULL,
PRIMARY KEY (`id`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4;
```
该表包括以下字段:
- `id`:任务 ID,自增长整数。
- `name`:任务名称,最长 50 个字符。
- `description`:任务描述,文本类型。
- `start_date`:任务开始日期,日期类型。
- `end_date`:任务结束日期,日期类型。
- `assigned_to`:被指派的人员名称,最长 50 个字符。
你可以使用以上 SQL 语句在你的数据库中创建一个名为 `task` 的表,用于存储打卡任务信息。
相关问题
并创建打卡任务与打卡记录关联表
好的,以下是创建打卡任务与打卡记录关联表的 SQL 代码:
```sql
CREATE TABLE `task_record` (
`id` int(11) NOT NULL AUTO_INCREMENT COMMENT '记录ID',
`task_id` int(11) NOT NULL COMMENT '任务ID',
`user_id` int(11) NOT NULL COMMENT '用户ID',
`checkin_time` datetime NOT NULL COMMENT '打卡时间',
PRIMARY KEY (`id`),
UNIQUE KEY `task_record_task_user_index` (`task_id`,`user_id`),
CONSTRAINT `task_record_task_fk` FOREIGN KEY (`task_id`) REFERENCES `task` (`id`) ON DELETE CASCADE ON UPDATE CASCADE,
CONSTRAINT `task_record_user_fk` FOREIGN KEY (`user_id`) REFERENCES `user` (`id`) ON DELETE CASCADE ON UPDATE CASCADE
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COMMENT='打卡任务与打卡记录关联表';
```
该表包括以下字段:
- `id`:记录 ID,自增长整数,用于唯一标识每条记录。
- `task_id`:任务 ID,整数类型,用于关联打卡记录与对应的打卡任务。
- `user_id`:用户 ID,整数类型,用于关联打卡记录与打卡的用户。
- `checkin_time`:打卡时间,日期时间类型,用于记录用户打卡的时间。
以上 SQL 代码创建了一个名为 `task_record` 的打卡任务与打卡记录关联表,用于记录用户对于某个打卡任务的打卡记录,并与对应的打卡任务和用户进行关联。同时,为了保证每个用户只能对同一个任务打卡一次,创建了一个唯一索引 `task_record_task_user_index` 来限制同一用户对同一任务的重复打卡记录。还创建了两个外键 `task_record_task_fk` 和 `task_record_user_fk` 分别关联 `task` 表和 `user` 表,以保证数据的完整性和一致性。
打卡任务表,带备注的sql代码,打卡附带信息尽量丰富
好的,以下是创建带有备注的打卡任务表的 SQL 代码:
```sql
CREATE TABLE `task` (
`id` int(11) NOT NULL AUTO_INCREMENT COMMENT '任务ID',
`name` varchar(50) NOT NULL COMMENT '任务名称',
`description` text NOT NULL COMMENT '任务描述',
`start_date` date NOT NULL COMMENT '任务开始日期',
`end_date` date NOT NULL COMMENT '任务结束日期',
`assigned_to` varchar(50) NOT NULL COMMENT '被指派的人员名称',
`status` enum('todo','in progress','done') NOT NULL DEFAULT 'todo' COMMENT '任务状态',
`priority` enum('low','medium','high') NOT NULL DEFAULT 'medium' COMMENT '任务优先级',
`created_at` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间',
`updated_at` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '更新时间',
PRIMARY KEY (`id`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COMMENT='打卡任务表';
```
该表包括以下字段:
- `id`:任务 ID,自增长整数,用于唯一标识每个任务。
- `name`:任务名称,最长 50 个字符,用于描述任务的名称。
- `description`:任务描述,文本类型,用于描述任务的具体内容。
- `start_date`:任务开始日期,日期类型,用于记录任务的开始时间。
- `end_date`:任务结束日期,日期类型,用于记录任务的结束时间。
- `assigned_to`:被指派的人员名称,最长 50 个字符,用于记录任务被指派给了谁。
- `status`:任务状态,枚举类型,包括待办(todo)、进行中(in progress)、已完成(done),用于记录任务的当前状态。
- `priority`:任务优先级,枚举类型,包括低(low)、中(medium)、高(high),用于记录任务的优先级。
- `created_at`:创建时间,日期时间类型,用于记录任务的创建时间。
- `updated_at`:更新时间,日期时间类型,用于记录任务的最后更新时间。
以上 SQL 代码创建了一个名为 `task` 的打卡任务表,用于存储打卡任务的信息,并带有相应的备注说明。