比如:数据库有images字段用来存放图片的图片.可是图片的路径太多了.需要存放好几张图片的路径
"http://www.xxxx.com/1.jpg,http://www.xxxx.com/2.jpg,http://www.xxxx.com/3.jpg,http://www.xxxx.com/2.jpg,http://www.xxxx.com/1.jpg"
这些路径字符串要保存到数据库的.现在是提示错误:
com.mysql.jdbc.MysqlDataTruncation: Data truncation: Data too long for column 'SMALL_IMAGES' at row 1
at com.mysql.jdbc.MysqlIO.checkErrorPacket(MysqlIO.java:3607)
at com.mysql.jdbc.MysqlIO.checkErrorPacket(MysqlIO.java:3541)
at com.mysql.jdbc.MysqlIO.sendCommand(MysqlIO.java:2002)
at com.mysql.jdbc.MysqlIO.sqlQueryDirect(MysqlIO.java:2163)
at com.mysql.jdbc.ConnectionImpl.execSQL(ConnectionImpl.java:2624)
现在用到String ,报错的提示好像是字符串太长,放不下了.这个需要怎么解决啊?
11 回答

叮当猫咪
TA贡献1776条经验 获得超12个赞
如果不限制图片的数量,建议拆分成多条记录;
否则在前台做好验证,不要超出数据定义列的最大长度,如图片最多10个,每个url长度不超过100,可以定义为VARCHAR(1000)。
json的格式我觉得没必要,长度比逗号分隔的字符串更长。

慕哥9229398
TA贡献1877条经验 获得超6个赞
varchar或者text,通过设置最大长度
你这个例子,可以提取公共字段,进行拆分,域名,文件名
或者可以进行分表,通过主子表的形式,拆分为多条记录来保存,通过ID关联
记录ID,文件路径

宝慕林4294392
TA贡献2021条经验 获得超8个赞
这种可以考虑用text,用json格式保存进去。
这种不定长的图片地址肯定会考虑text。lz并没有说明场景,假如在电商中的商品介绍副图,这个图片有多少是不可假设的。再之varchar在存储上是有一定的损失的。
踩的人可以下来说说缘由否?
添加回答
举报
0/150
提交
取消