CREATE TABLE `region` (
`id` int(10) unsigned NOT NULL AUTO_INCREMENT COMMENT '主键 ID',
`name` varchar(100) NOT NULL COMMENT '名称',
`parent_id` int(10) unsigned DEFAULT NULL COMMENT '父级 ID,省级为 NULL',
`level` tinyint(4) NOT NULL COMMENT '级别:1-省,2-市,3-区县',
`code` varchar(20) NOT NULL COMMENT '行政区划代码',
`full_name` varchar(255) NOT NULL COMMENT '完整名称,例如: 北京市-东城区',
`create_by` varchar(64) DEFAULT NULL COMMENT '创建者',
`create_time` datetime DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间',
`update_by` varchar(64) DEFAULT NULL COMMENT '更新者',
`update_time` datetime DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '更新时间',
`version` int(11) NOT NULL DEFAULT '1' COMMENT '版本号',
`delete_time` int(10) unsigned zerofill DEFAULT '0000000000' COMMENT '软删除时间',
PRIMARY KEY (`id`),
UNIQUE KEY `idx_code` (`code`),
KEY `idx_parent_id` (`parent_id`),
KEY `idx_name_parent` (`parent_id`,`name`)
) ENGINE=InnoDB AUTO_INCREMENT=49 DEFAULT CHARSET=utf8mb4 COMMENT='省市区表';
-- 省级数据
INSERT INTO `region` (`name`, `parent_id`, `level`, `code`, `full_name`, `create_by`, `create_time`, `update_by`, `update_time`, `version`, `delete_time`)
VALUES
('河南省', NULL, 1, '410000', '河南省', 'admin', NOW(), 'admin', NOW(), 1, 0000000000);
-- 获取 河南省 ID
SET @province_id = (SELECT id FROM region WHERE name='河南省' AND level=1);
-- 市级数据
INSERT INTO `region` (`name`, `parent_id`, `level`, `code`, `full_name`, `create_by`, `create_time`, `update_by`, `update_time`, `version`, `delete_time`)
VALUES
('郑州市', @province_id, 2, '410100', '河南省-郑州市', 'admin', NOW(), 'admin', NOW(), 1, 0000000000),
('开封市', @province_id, 2, '410200', '河南省-开封市', 'admin', NOW(), 'admin', NOW(), 1, 0000000000),
('洛阳市', @province_id, 2, '410300', '河南省-洛阳市', 'admin', NOW(), 'admin', NOW(), 1, 0000000000),
('平顶山市', @province_id, 2, '410400', '河南省-平顶山市', 'admin', NOW(), 'admin', NOW(), 1, 0000000000),
('安阳市', @province_id, 2, '410500', '河南省-安阳市', 'admin', NOW(), 'admin', NOW(), 1, 0000000000),
('鹤壁市', @province_id, 2, '410600', '河南省-鹤壁市', 'admin', NOW(), 'admin', NOW(), 1, 0000000000),
('新乡市', @province_id, 2, '410700', '河南省-新乡市', 'admin', NOW(), 'admin', NOW(), 1, 0000000000),
('焦作市', @province_id, 2, '410800', '河南省-焦作市', 'admin', NOW(), 'admin', NOW(), 1, 0000000000),
('濮阳市', @province_id, 2, '410900', '河南省-濮阳市', 'admin', NOW(), 'admin', NOW(), 1, 0000000000),
('许昌市', @province_id, 2, '411000', '河南省-许昌市', 'admin', NOW(), 'admin', NOW(), 1, 0000000000),
('漯河市', @province_id, 2, '411100', '河南省-漯河市', 'admin', NOW(), 'admin', NOW(), 1, 0000000000),
('三门峡市', @province_id, 2, '411200', '河南省-三门峡市', 'admin', NOW(), 'admin', NOW(), 1, 0000000000),
('南阳市', @province_id, 2, '411300', '河南省-南阳市', 'admin', NOW(), 'admin', NOW(), 1, 0000000000),
('商丘市', @province_id, 2, '411400', '河南省-商丘市', 'admin', NOW(), 'admin', NOW(), 1, 0000000000),
('信阳市', @province_id, 2, '411500', '河南省-信阳市', 'admin', NOW(), 'admin', NOW(), 1, 0000000000),
('周口市', @province_id, 2, '411600', '河南省-周口市', 'admin', NOW(), 'admin', NOW(), 1, 0000000000),
('驻马店市', @province_id, 2, '411700', '河南省-驻马店市', 'admin', NOW(), 'admin', NOW(), 1, 0000000000),
('济源市', @province_id, 2, '419001', '河南省-济源市', 'admin', NOW(), 'admin', NOW(), 1, 0000000000);
-- 获取 郑州市 ID
SET @zhengzhou_id = (SELECT id FROM region WHERE name='郑州市' AND level=2);
-- 区县级数据(郑州市示例)
INSERT INTO `region` (`name`, `parent_id`, `level`, `code`, `full_name`, `create_by`, `create_time`, `update_by`, `update_time`, `version`, `delete_time`)
VALUES
('中原区', @zhengzhou_id, 3, '410102', '河南省-郑州市-中原区', 'admin', NOW(), 'admin', NOW(), 1, 0000000000),
('二七区', @zhengzhou_id, 3, '410103', '河南省-郑州市-二七区', 'admin', NOW(), 'admin', NOW(), 1, 0000000000),
('管城回族区', @zhengzhou_id, 3, '410104', '河南省-郑州市-管城回族区', 'admin', NOW(), 'admin', NOW(), 1, 0000000000),
('金水区', @zhengzhou_id, 3, '410105', '河南省-郑州市-金水区', 'admin', NOW(), 'admin', NOW(), 1, 0000000000),
('上街区', @zhengzhou_id, 3, '410106', '河南省-郑州市-上街区', 'admin', NOW(), 'admin', NOW(), 1, 0000000000),
('惠济区', @zhengzhou_id, 3, '410108', '河南省-郑州市-惠济区', 'admin', NOW(), 'admin', NOW(), 1, 0000000000),
('中牟县', @zhengzhou_id, 3, '410122', '河南省-郑州市-中牟县', 'admin', NOW(), 'admin', NOW(), 1, 0000000000),
('巩义市', @zhengzhou_id, 3, '410181', '河南省-郑州市-巩义市', 'admin', NOW(), 'admin', NOW(), 1, 0000000000),
('荥阳市', @zhengzhou_id, 3, '410182', '河南省-郑州市-荥阳市', 'admin', NOW(), 'admin', NOW(), 1, 0000000000),
('新密市', @zhengzhou_id, 3, '410183', '河南省-郑州市-新密市', 'admin', NOW(), 'admin', NOW(), 1, 0000000000),
('新郑市', @zhengzhou_id, 3, '410184', '河南省-郑州市-新郑市', 'admin', NOW(), 'admin', NOW(), 1, 0000000000),
('登封市', @zhengzhou_id, 3, '410185', '河南省-郑州市-登封市', 'admin', NOW(), 'admin', NOW(), 1, 0000000000);