gpt4 book ai didi

java - 数据截断 : Data too long for column 'logo' at row 1

转载 作者:IT老高 更新时间:2023-10-28 12:58:36 24 4
gpt4 key购买 nike

我正在尝试将照片插入 MySQL 表的 BLOB 列,但出现异常:

Data too long for column 'logo' at row 1. 

这里是 JDBC:

    int idRestaurant = 42;
String restoname= "test";
String restostatus= "test";
InputStream fileContent = getUploadedFile();
int fileSize = getUploadedFileSize();

Class.forName("com.mysql.jdbc.Driver");
try (Connection conn = DriverManager.getConnection("jdbc:mysql://localhost:3306/resto" , "root" , "" )) {
PreparedStatement ps = conn.prepareStatement("insert into restaurants (idRestaurant, restaurantName, status, logo) values(?,?,?,?)");
ps.setInt(1, idRestaurant);
ps.setString(2, restoname);
ps.setString(3, restostatus);
ps.setBinaryStream(4, fileContent, fileSize);
ps.executeUpdate();
conn.commit();
}

我该如何解决这个问题?

最佳答案

您尝试插入的数据大于列 logo 所允许的数据。

根据需要使用以下数据类型

TINYBLOB   :     maximum length of 255 bytes  
BLOB : maximum length of 65,535 bytes
MEDIUMBLOB : maximum length of 16,777,215 bytes
LONGBLOB : maximum length of 4,294,967,295 bytes

使用 LONGBLOB 来避免这个异常。

关于java - 数据截断 : Data too long for column 'logo' at row 1,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21522875/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com