1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
| -- 字典类型表
CREATE TABLE `dict_type` (
`id` BIGINT UNSIGNED NOT NULL AUTO_INCREMENT COMMENT '主键 ID',
`code` VARCHAR(32) NOT NULL DEFAULT '' COMMENT '字典编码:gender/order_status',
`name` VARCHAR(32) NOT NULL DEFAULT '' COMMENT '字典名称',
`description` VARCHAR(128) NOT NULL DEFAULT '' COMMENT '描述',
`status` TINYINT UNSIGNED NOT NULL DEFAULT 1 COMMENT '状态:0=禁用,1=正常',
`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`),
UNIQUE INDEX `uk_dict_type_code` (`code`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_0900_ai_ci COMMENT='字典类型表';
-- 字典数据表
CREATE TABLE `dict_data` (
`id` BIGINT UNSIGNED NOT NULL AUTO_INCREMENT COMMENT '主键 ID',
`dict_type_id` BIGINT UNSIGNED NOT NULL DEFAULT 0 COMMENT '字典类型 ID',
`label` VARCHAR(32) NOT NULL DEFAULT '' COMMENT '显示标签',
`value` VARCHAR(32) NOT NULL DEFAULT '' COMMENT '字典值',
`sort` INT NOT NULL DEFAULT 0 COMMENT '排序',
`status` TINYINT UNSIGNED NOT NULL DEFAULT 1 COMMENT '状态:0=禁用,1=正常',
`remark` VARCHAR(128) NOT NULL DEFAULT '' 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`),
INDEX `idx_dict_data_type_id` (`dict_type_id`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_0900_ai_ci COMMENT='字典数据表';
-- 示例数据
INSERT INTO dict_type (code, name) VALUES
('gender', '性别'),
('order_status', '订单状态');
INSERT INTO dict_data (dict_type_id, label, value, sort) VALUES
(1, '未知', '0', 0),
(1, '男', '1', 1),
(1, '女', '2', 2),
(2, '待支付', '0', 0),
(2, '已支付', '1', 1),
(2, '已发货', '2', 2),
(2, '已完成', '3', 3),
(2, '已取消', '4', 4);
|