DROP TABLE IF EXISTS role_tbl;\nCREATE TABLE role_tbl (\n id int(11) NOT NULL AUTO_INCREMENT,\n name varchar(32) CHARACTER SET utf8 COLLATE utf8_bin NOT NULL,\n code varchar(100) CHARACTER SET utf8 COLLATE utf8_bin NULL DEFAULT NULL,\n type tinyint(4) NOT NULL,\n description varchar(255) CHARACTER SET utf8 COLLATE utf8_bin NULL DEFAULT NULL,\n enabled tinyint(4) NULL DEFAULT 1,\n updated_at timestamp NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP,\n created_at timestamp NULL DEFAULT CURRENT_TIMESTAMP,\n created_by varchar(64) CHARACTER SET utf8 COLLATE utf8_bin NULL DEFAULT NULL,\n updated_by varchar(64) CHARACTER SET utf8 COLLATE utf8_bin NULL DEFAULT NULL,\n PRIMARY KEY (id) USING BTREE,\n UNIQUE INDEX uniq_role_tbl(name) USING BTREE\n) ENGINE = InnoDB AUTO_INCREMENT = 0 CHARACTER SET = utf8 COLLATE = utf8_bin ROW_FORMAT = COMPACT;\n\n-- ----------------------------\n-- Records of role_tbl\n-- ----------------------------\nINSERT INTO role_tbl VALUES (0, '运维超级管理员', 'ROLE-DW-SUPER', 0, '默认运维角色, 请勿操作', 1, '2023-07-10 16:25:36', '2023-06-26 10:59:07', NULL, NULL);\nINSERT INTO role_tbl VALUES (1, '运维管理员', 'ROLE-YW-001', 0, '默认运维角色, 请勿操作', 1, '2023-06-14 13:58:51', '2023-06-13 15:35:12', NULL, NULL);\nINSERT INTO role_tbl VALUES (2, '运维操作员', 'ROLE-YW-002', 0, '默认运维角色, 请勿操作', 1, '2023-06-14 13:58:55', '2023-06-13 15:36:25', NULL, NULL);\n\nSET FOREIGN_KEY_CHECKS = 1;\n\n这段 SQL 语句中添加数据时 id 字段的值为 0 是因为在 INSERT INTO role_tbl VALUES (0, '运维超级管理员', 'ROLE-DW-SUPER', 0, '默认运维角色, 请勿操作', 1, '2023-07-10 16:25:36', '2023-06-26 10:59:07', NULL, NULL); 语句中指定了 id 字段的值为 0。根据表定义,id 字段是自增的,因此数据库会自动为每个新插入的行生成一个唯一的自增值。所以在这种情况下,指定的 id 值将被数据库忽略,并由数据库自动分配一个新的自增值。

MySQL `role_tbl` 表结构及数据插入说明

原文地址: https://www.cveoy.top/t/topic/pWJ1 著作权归作者所有。请勿转载和采集!

免费AI点我,无需注册和登录