You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

使用dbgen导入TPC-H数据至MySQL时PART表出现截断警告的解决方法

解决TPC-H PART表导入MySQL时P_RETAILPRICE字段数据截断警告

问题说明

用tpch-dbgen生成TPC-H的8张表,执行load data local infile命令将PART表导入MySQL时,出现大量1265 Data truncated for column 'P_RETAILPRICE'的警告。示例报错行的数据如下:

517|aquamarine rosy violet moccasin snow|Manufacturer#3|Brand#34|SMALL BURNISHED COPPER|30|WRAP CAN|1417.51|uses. |

使用的表定义来自tpch-create.sql,导入命令为:

load data local infile '/full-path/part.tbl' into table PART columns terminated by '|';

解决方法

1. 核查字段类型限制

先查看PART表中P_RETAILPRICE的字段定义:

DESCRIBE PART;

通常问题出在该字段被定义为DECIMAL(5,2),这个类型只能存储最大999.99的数值,而生成的1417.51超出了这个范围,导致数据被截断。

2. 修改字段类型适配数据范围

将P_RETAILPRICE的字段类型调整为支持更大数值的精度,比如DECIMAL(8,2),该类型可存储最大999999.99的数值,完全覆盖TPC-H生成的价格区间:

ALTER TABLE PART MODIFY COLUMN P_RETAILPRICE DECIMAL(8,2);

3. 重新执行导入

修改字段后,再次运行导入命令,即可消除截断警告:

load data local infile '/full-path/part.tbl' into table PART columns terminated by '|';

补充提示

TPC-H标准中P_RETAILPRICE的取值范围是1到10000,所以DECIMAL(8,2)完全够用,也可以根据需求调整为DECIMAL(10,2)来预留更多空间。

内容的提问来源于stack exchange,提问作者Ilonpilaaja

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.24 14:25:12