创建表分区的时候创建了默认分区,为什么插入数据时还会报错

【 TiDB 使用环境】生产环境
【 TiDB 版本】7.5

CREATE TABLE core.company_f3 (
id VARCHAR ( 255 ) CHARACTER
SET utf8mb4 COLLATE utf8mb4_bin NOT NULL COMMENT ‘企业id’,
name VARCHAR ( 255 ) CHARACTER
SET utf8mb4 COLLATE utf8mb4_bin NULL DEFAULT NULL COMMENT ‘企业名称’,
establish_date DATE NULL DEFAULT NULL COMMENT ‘注册时间’,
reg_capital_std DOUBLE NULL DEFAULT NULL COMMENT ‘注册资本金,统一单位处理后的。单位:万元’,
english_name VARCHAR ( 255 ) CHARACTER
SET utf8mb4 COLLATE utf8mb4_bin NULL DEFAULT NULL COMMENT ‘英文名称’,
registration_code VARCHAR ( 255 ) CHARACTER
SET utf8mb4 COLLATE utf8mb4_bin NULL DEFAULT NULL COMMENT ‘工商信息-注册号’,
organization_code VARCHAR ( 255 ) CHARACTER
SET utf8mb4 COLLATE utf8mb4_bin NULL DEFAULT NULL COMMENT ‘工商信息-组织机构号’,
credit_code VARCHAR ( 255 ) CHARACTER
SET utf8mb4 COLLATE utf8mb4_bin NULL DEFAULT NULL COMMENT ‘工商信息-统一社会信用代码’,
first_type VARCHAR ( 255 ) CHARACTER
SET utf8mb4 COLLATE utf8mb4_bin NULL DEFAULT NULL COMMENT ‘工商主体’,
second_type VARCHAR ( 255 ) CHARACTER
SET utf8mb4 COLLATE utf8mb4_bin NULL DEFAULT NULL COMMENT ‘标准后的企业类型’,
detail_type VARCHAR ( 255 ) CHARACTER
SET utf8mb4 COLLATE utf8mb4_bin NULL DEFAULT NULL COMMENT ‘企业类型’,
industry VARCHAR ( 255 ) CHARACTER
SET utf8mb4 COLLATE utf8mb4_bin NULL DEFAULT NULL COMMENT ‘国民经济行业代码\n’,
registered_capital VARCHAR ( 255 ) CHARACTER
SET utf8mb4 COLLATE utf8mb4_bin NULL DEFAULT NULL COMMENT ‘工商信息-注册资本’,
registered_add VARCHAR ( 255 ) CHARACTER
SET utf8mb4 COLLATE utf8mb4_bin NULL DEFAULT NULL COMMENT ‘工商信息-注册地址’,
scope TEXT CHARACTER
SET utf8mb4 COLLATE utf8mb4_bin NULL COMMENT ‘经营范围’,
business_start_date DATE NULL DEFAULT NULL COMMENT ‘业务开始时间’,
business_end_date DATE NULL DEFAULT NULL COMMENT ‘业务结束时间’,
reg_organization VARCHAR ( 255 ) CHARACTER
SET utf8mb4 COLLATE utf8mb4_bin NULL DEFAULT NULL COMMENT ‘工商信息-登记机关’,
legal_representative VARCHAR ( 255 ) CHARACTER
SET utf8mb4 COLLATE utf8mb4_bin NULL DEFAULT NULL COMMENT ‘法人信息’,
legal_rep_type INT ( 11 ) NULL DEFAULT NULL COMMENT ‘法人类型’,
approval_date DATE NULL DEFAULT NULL COMMENT ‘核准日期’,
cancel_date DATE NULL DEFAULT NULL COMMENT ‘注销日期’,
status_std VARCHAR ( 255 ) CHARACTER
SET utf8mb4 COLLATE utf8mb4_bin NULL DEFAULT NULL COMMENT ‘企业状态’,
registered_capital_unit VARCHAR ( 255 ) CHARACTER
SET utf8mb4 COLLATE utf8mb4_bin NULL DEFAULT NULL COMMENT ‘注册资本单位’,
currency VARCHAR ( 255 ) CHARACTER
SET utf8mb4 COLLATE utf8mb4_bin NULL DEFAULT NULL COMMENT ‘注册资本币种’,
tel VARCHAR ( 255 ) CHARACTER
SET utf8mb4 COLLATE utf8mb4_bin NULL DEFAULT NULL COMMENT ‘工商信息-企业联系电话’,
email TEXT CHARACTER
SET utf8mb4 COLLATE utf8mb4_bin NULL COMMENT ‘工商信息-邮箱地址’,
cancel_reason TEXT CHARACTER
SET utf8mb4 COLLATE utf8mb4_bin NULL COMMENT ‘工商信息-注销原因’,
ssfCount VARCHAR ( 255 ) CHARACTER
SET utf8mb4 COLLATE utf8mb4_bin NULL DEFAULT NULL COMMENT ‘工商信息-职工参保人数’,
wechat LONGTEXT CHARACTER
SET utf8mb4 COLLATE utf8mb4_bin NULL COMMENT ‘微信公众号’,
logo VARCHAR ( 255 ) CHARACTER
SET utf8mb4 COLLATE utf8mb4_bin NULL DEFAULT NULL COMMENT ‘公司logo’,
alias VARCHAR ( 255 ) CHARACTER
SET utf8mb4 COLLATE utf8mb4_bin NULL DEFAULT NULL COMMENT ‘企业简称(生成)’,
create_time DATETIME NULL DEFAULT CURRENT_TIMESTAMP COMMENT ‘创建时间’,
update_time DATETIME NULL DEFAULT NULL ON UPDATE CURRENT_TIMESTAMP COMMENT ‘修改时间’,
source_id VARCHAR ( 255 ) CHARACTER
SET utf8mb4 COLLATE utf8mb4_bin NULL DEFAULT NULL COMMENT ‘来源id’,
reg_province VARCHAR ( 255 ) CHARACTER
SET utf8mb4 COLLATE utf8mb4_bin NOT NULL COMMENT ‘省’,
reg_city VARCHAR ( 255 ) CHARACTER
SET utf8mb4 COLLATE utf8mb4_bin NULL DEFAULT NULL COMMENT ‘市’,
reg_district VARCHAR ( 255 ) CHARACTER
SET utf8mb4 COLLATE utf8mb4_bin NULL DEFAULT NULL COMMENT ‘区’,
reg_geo_wgs84 JSON NULL COMMENT ‘注册地址地理坐标’,
display INT ( 255 ) NOT NULL COMMENT ‘判企业是否为有效企业\n1:正常经营的工商主体\n2:注销企业\n3:非工商主体(协会,工会,委员会,国家机关,国家机构,大学等在民政或教育部注册的社会组织机构)\n4:香港公司\n5:台湾企业\n0:重复企业\n6:个体工商户\n7:搬迁企业\n8:停业企业\n9:清算企业\n10:其他状态企业\n’,
off_address VARCHAR ( 255 ) CHARACTER
SET utf8mb4 COLLATE utf8mb4_bin NULL DEFAULT NULL COMMENT ‘办公地址’,
off_province VARCHAR ( 255 ) CHARACTER
SET utf8mb4 COLLATE utf8mb4_bin NULL DEFAULT NULL COMMENT ‘办公省份’,
off_city VARCHAR ( 255 ) CHARACTER
SET utf8mb4 COLLATE utf8mb4_bin NULL DEFAULT NULL COMMENT ‘办公城市’,
off_district VARCHAR ( 255 ) CHARACTER
SET utf8mb4 COLLATE utf8mb4_bin NULL DEFAULT NULL COMMENT ‘办公行政区’,
off_geo_wgs84 JSON NULL COMMENT ‘办公地经纬度’,
region_code VARCHAR ( 255 ) CHARACTER
SET utf8mb4 COLLATE utf8mb4_bin NULL DEFAULT NULL COMMENT ‘地区code’,
capital_type VARCHAR ( 255 ) CHARACTER
SET utf8mb4 COLLATE utf8mb4_bin NULL DEFAULT NULL COMMENT ‘资本类型标签’,
business_type VARCHAR ( 255 ) CHARACTER
SET utf8mb4 COLLATE utf8mb4_bin NULL DEFAULT NULL COMMENT ‘生产经营类型’,
company_scale VARCHAR ( 255 ) CHARACTER
SET utf8mb4 COLLATE utf8mb4_bin NULL DEFAULT NULL COMMENT ‘企业规模’,
score_financing_ability FLOAT NULL DEFAULT NULL COMMENT ‘投资价值/融资能力’,
score_innovative_ability FLOAT NULL DEFAULT NULL COMMENT ‘创新价值/创新能力’,
score_operating_ability FLOAT NULL DEFAULT NULL COMMENT ‘成长潜力/经营能力’,
score_credit_risk FLOAT NULL DEFAULT NULL COMMENT ‘信用风险’,
score_growth_potential FLOAT NULL DEFAULT NULL COMMENT ‘成长能力’,
score_social_contribution FLOAT NULL DEFAULT NULL COMMENT ‘社会贡献’,
score_total_point FLOAT NULL DEFAULT NULL COMMENT ‘最终得分’,
scale_tag VARCHAR ( 255 ) CHARACTER
SET utf8mb4 COLLATE utf8mb4_bin NULL DEFAULT NULL,
score_competitive_strength FLOAT NULL DEFAULT NULL COMMENT ‘竞争力指数’,
PRIMARY KEY ( id, reg_province, display ) USING BTREE,
INDEX establish_date ( establish_date ) USING BTREE,
INDEX reg_city ( reg_city ) USING BTREE,
INDEX establish_date_2 ( establish_date, reg_city ) USING BTREE,
INDEX score_total_point ( score_total_point ) USING BTREE,
INDEX establish_date_3 ( establish_date, reg_province, reg_city, score_total_point ) USING BTREE,
INDEX reg_province ( reg_province ) USING BTREE,
INDEX reg_district ( reg_district ) USING BTREE,
INDEX name ( name ) USING BTREE,
INDEX reg_capital_std_2 ( reg_capital_std ) USING BTREE,
INDEX status_std ( status_std ) USING BTREE,
INDEX company_scale ( company_scale ) USING BTREE,
INDEX mul ( establish_date, reg_capital_std, status_std, company_scale, score_total_point ) USING BTREE,
INDEX establish_date_4 ( establish_date, reg_province, reg_city, reg_district, score_total_point ) USING BTREE
) ENGINE = INNODB CHARACTER
SET = utf8mb4 COLLATE = utf8mb4_bin ROW_FORMAT = Compact PARTITION BY LIST COLUMNS ( reg_province ) ( PARTITION bjs VALUES IN ( “北京市” ), PARTITION other DEFAULT );

创建了reg_province字段的list columns类型分区,然后插入reg_province=“北京市1” 会报错

:thinking:这个报错应该是符合预期的吧,应该就是先分区,后插入数据

1 个赞

就是先创建的分区,创建了两个 一个 bjs values in (“北京市”) 一个是 other default 可我插入“北京市1” 会报错

有没有可能把北京市1当成了北京市,你试试插入天津市会不会出错。

看文档应该是支持的,不过我这边没有7.3及以上的环境验证。

1 个赞

一样的报错

我用 show create table 看命令是这样的
CREATE TABLE company_f3 (
id varchar(255) NOT NULL COMMENT ‘企业id’,
name varchar(255) DEFAULT NULL COMMENT ‘企业名称’,
establish_date date DEFAULT NULL COMMENT ‘注册时间’,
reg_capital_std double DEFAULT NULL COMMENT ‘注册资本金,统一单位处理后的。单位:万元’,
english_name varchar(255) DEFAULT NULL COMMENT ‘英文名称’,
registration_code varchar(255) DEFAULT NULL COMMENT ‘工商信息-注册号’,
organization_code varchar(255) DEFAULT NULL COMMENT ‘工商信息-组织机构号’,
credit_code varchar(255) DEFAULT NULL COMMENT ‘工商信息-统一社会信用代码’,
first_type varchar(255) DEFAULT NULL COMMENT ‘工商主体’,
second_type varchar(255) DEFAULT NULL COMMENT ‘标准后的企业类型’,
detail_type varchar(255) DEFAULT NULL COMMENT ‘企业类型’,
industry varchar(255) DEFAULT NULL COMMENT ‘国民经济行业代码\n’,
registered_capital varchar(255) DEFAULT NULL COMMENT ‘工商信息-注册资本’,
registered_add varchar(255) DEFAULT NULL COMMENT ‘工商信息-注册地址’,
scope text DEFAULT NULL COMMENT ‘经营范围’,
business_start_date date DEFAULT NULL COMMENT ‘业务开始时间’,
business_end_date date DEFAULT NULL COMMENT ‘业务结束时间’,
reg_organization varchar(255) DEFAULT NULL COMMENT ‘工商信息-登记机关’,
legal_representative varchar(255) DEFAULT NULL COMMENT ‘法人信息’,
legal_rep_type int(11) DEFAULT NULL COMMENT ‘法人类型’,
approval_date date DEFAULT NULL COMMENT ‘核准日期’,
cancel_date date DEFAULT NULL COMMENT ‘注销日期’,
status_std varchar(255) DEFAULT NULL COMMENT ‘企业状态’,
registered_capital_unit varchar(255) DEFAULT NULL COMMENT ‘注册资本单位’,
currency varchar(255) DEFAULT NULL COMMENT ‘注册资本币种’,
tel varchar(255) DEFAULT NULL COMMENT ‘工商信息-企业联系电话’,
email text DEFAULT NULL COMMENT ‘工商信息-邮箱地址’,
cancel_reason text DEFAULT NULL COMMENT ‘工商信息-注销原因’,
ssfCount varchar(255) DEFAULT NULL COMMENT ‘工商信息-职工参保人数’,
wechat longtext DEFAULT NULL COMMENT ‘微信公众号’,
logo varchar(255) DEFAULT NULL COMMENT ‘公司logo’,
alias varchar(255) DEFAULT NULL COMMENT ‘企业简称(生成)’,
create_time datetime DEFAULT CURRENT_TIMESTAMP COMMENT ‘创建时间’,
update_time datetime DEFAULT NULL ON UPDATE CURRENT_TIMESTAMP COMMENT ‘修改时间’,
source_id varchar(255) DEFAULT NULL COMMENT ‘来源id’,
reg_province varchar(255) NOT NULL COMMENT ‘省’,
reg_city varchar(255) DEFAULT NULL COMMENT ‘市’,
reg_district varchar(255) DEFAULT NULL COMMENT ‘区’,
reg_geo_wgs84 json DEFAULT NULL COMMENT ‘注册地址地理坐标’,
display int(255) NOT NULL COMMENT ‘判企业是否为有效企业\n1:正常经营的工商主体\n2:注销企业\n3:非工商主体(协会,工会,委员会,国家机关,国家机构,大学等在民政或教育部注册的社会组织机构)\n4:香港公司\n5:台湾企业\n0:重复企业\n6:个体工商户\n7:搬迁企业\n8:停业企业\n9:清算企业\n10:其他状态企业\n’,
off_address varchar(255) DEFAULT NULL COMMENT ‘办公地址’,
off_province varchar(255) DEFAULT NULL COMMENT ‘办公省份’,
off_city varchar(255) DEFAULT NULL COMMENT ‘办公城市’,
off_district varchar(255) DEFAULT NULL COMMENT ‘办公行政区’,
off_geo_wgs84 json DEFAULT NULL COMMENT ‘办公地经纬度’,
region_code varchar(255) DEFAULT NULL COMMENT ‘地区code’,
capital_type varchar(255) DEFAULT NULL COMMENT ‘资本类型标签’,
business_type varchar(255) DEFAULT NULL COMMENT ‘生产经营类型’,
company_scale varchar(255) DEFAULT NULL COMMENT ‘企业规模’,
score_financing_ability float DEFAULT NULL COMMENT ‘投资价值/融资能力’,
score_innovative_ability float DEFAULT NULL COMMENT ‘创新价值/创新能力’,
score_operating_ability float DEFAULT NULL COMMENT ‘成长潜力/经营能力’,
score_credit_risk float DEFAULT NULL COMMENT ‘信用风险’,
score_growth_potential float DEFAULT NULL COMMENT ‘成长能力’,
score_social_contribution float DEFAULT NULL COMMENT ‘社会贡献’,
score_total_point float DEFAULT NULL COMMENT ‘最终得分’,
scale_tag varchar(255) DEFAULT NULL,
score_competitive_strength float DEFAULT NULL COMMENT ‘竞争力指数’,
PRIMARY KEY (id,reg_province,display) /*T![clustered_index] CLUSTERED */,
KEY establish_date (establish_date),
KEY reg_city (reg_city),
KEY establish_date_2 (establish_date,reg_city),
KEY score_total_point (score_total_point),
KEY establish_date_3 (establish_date,reg_province,reg_city,score_total_point),
KEY reg_province (reg_province),
KEY reg_district (reg_district),
KEY name (name),
KEY reg_capital_std_2 (reg_capital_std),
KEY status_std (status_std),
KEY company_scale (company_scale),
KEY mul (establish_date,reg_capital_std,status_std,company_scale,score_total_point),
KEY establish_date_4 (establish_date,reg_province,reg_city,reg_district,score_total_point)
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_bin
PARTITION BY LIST COLUMNS(reg_province)
(PARTITION bjs VALUES IN (‘北京市’),
PARTITION other VALUES IN ()) 我怀疑是不是有bug

破案了我是7.1版本,7.3版本加的这个功能

1 个赞

我在7.3版本是可以的,你应该不是7.5吧

:yum:发帖的时候要标注好版本,就是看了你标注的,我才特意写了7.3这个版本

1 个赞

对现在最新版本是7.5.我做实验就是这个版本。

找到原因了就好

下次可以帖子里加个 select tidb_version()

2023-12-27_095251
我的实验版本。

1 个赞

此话题已在最后回复的 60 天后被自动关闭。不再允许新回复。