比如:數據庫有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
提交
取消