mysql建表定义lifecycle
时间: 2023-07-01 13:25:24 浏览: 60
在MySQL中,可以使用以下DDL语句定义一个名为`lifecycle`的表:
```
CREATE TABLE lifecycle (
id INT(11) NOT NULL AUTO_INCREMENT COMMENT '主键',
name VARCHAR(50) NOT NULL COMMENT '名称',
start_time DATETIME NOT NULL COMMENT '开始时间',
end_time DATETIME COMMENT '结束时间',
status TINYINT(1) NOT NULL DEFAULT 0 COMMENT '状态',
create_time DATETIME NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间',
update_time DATETIME NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '更新时间',
PRIMARY KEY (id),
KEY idx_status (status),
KEY idx_start_time (start_time),
KEY idx_end_time (end_time)
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COMMENT='生命周期表';
```
该表包括以下字段:
- `id`: 主键,自增长的整数。
- `name`: 名称,最大长度为50的字符串。
- `start_time`: 开始时间,时间类型。
- `end_time`: 结束时间,时间类型。
- `status`: 状态,取值为0或1。
- `create_time`: 创建时间,时间类型,使用CURRENT_TIMESTAMP函数设置默认值,表示使用当前时间。
- `update_time`: 更新时间,时间类型,使用CURRENT_TIMESTAMP和ON UPDATE CURRENT_TIMESTAMP函数设置默认值,表示在更新时自动设置为当前时间。
该表还定义了三个索引:
- `PRIMARY KEY`: 主键索引,用于保证唯一性。
- `idx_status`: 状态索引,用于加快状态查询。
- `idx_start_time`和`idx_end_time`: 开始时间和结束时间索引,用于加快时间范围查询。
该表使用InnoDB引擎,字符集为utf8mb4,注释为“生命周期表”。