Data too long for column ‘importantLevel’ at row 1
问题出现在ssm框架中,往mysql数据库中插入数据的情况。当时先执行的是下面的SQL生成表,然后往表里插入数据。
DROP TABLE IF EXISTS `consumption_index_year`;
CREATE TABLE `consumption_index_year` (
`code` VARCHAR(20) NOT NULL COMMENT '代码',
`lastValue` DOUBLE NOT NULL COMMENT '去年度值汇总(前年值)',
`year` VARCHAR(25) NOT NULL COMMENT '年份',
`indexName` VARCHAR(25) NOT NULL COMMENT '指标名称',
`indexUnit` VARCHAR(25) NOT NULL COMMENT '指标单位',
`companyreportid` VARCHAR(50) NOT NULL COMMENT '报告id',
`orgId` VARCHAR(50) NOT NULL COMMENT '组织机构ID',
`companyperiodreportstatusid` VARCHAR(50),
`energyConsumptionIndexId` VARCHAR(50),
`id` VARCHAR(20),
`fullname` VARCHAR(50)NOT NULL COMMENT '公司名称',
`region` VARCHAR(30) NOT NULL COMMENT '区域名称',
`currentValue` DOUBLE NOT NULL COMMENT '本年度值汇总(去年值)',
`indexCurrent` DOUBLE NOT NULL COMMENT '指标1(本年度,去年)',
`indexLast` DOUBLE NOT NULL COMMENT '指标4(去年,前年)',
`status` VARCHAR(30) NOT NULL COMMENT '上报状态',
`importantLevel` VARCHAR(15) NOT NULL COMMENT '重点类型',
`create_time` datetime NULL DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间',
`update_time` datetime NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '更新时间'
)ENGINE=InnoDB AUTO_INCREMENT=1 DEFAULT CHARSET=utf8;
然后报错报的字段是importantLevel。经过检查发现importantLevel的字段的值在一些情况下可能比15长,然后把importantLevel
VARCHAR(15)长度改大一点,改成importantLevel
VARCHAR(50)。然后再存取数据就正常了。
友情提示:字段的长度可以设置的稍微大点,我已经遇到过两次因为字段长度的问题导致存数据失败的情况了。
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 阿里最新开源QwQ-32B,效果媲美deepseek-r1满血版,部署成本又又又降低了!
· Manus重磅发布:全球首款通用AI代理技术深度解析与实战指南
· 开源Multi-agent AI智能体框架aevatar.ai,欢迎大家贡献代码
· 被坑几百块钱后,我竟然真的恢复了删除的微信聊天记录!
· AI技术革命,工作效率10个最佳AI工具