当前位置: 首页 > 面试题库 >

数据截断:数据太长,导致第1行的“徽标”列

慕乐池
2023-03-14
问题内容

我试图将照片插入到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以避免此异常。



 类似资料:
  • 我使用hibernate映射一对多来完成我的任务。但是当我运行这个项目时,它遇到了一个问题:“数据截断:对于第1行的列‘tinhTrang’来说,数据太长了”。我不明白为什么我会得到这个。我搜索了一下,但是没有发现像我这样的布尔有任何问题。请帮助我。谢谢大家 } 以下是错误消息: 原因:org.hibernate.exception。DataException:无法在org.hibernate.e

  • 我有我的班级电影: 和我的控制器方法: 我得到一个错误: Servlet.service()的servlet[springDispatcher]在上下文与路径[/web编程]抛出异常[请求处理失败;嵌套异常org.springframework.dao.DataIntegrityViolationException:无法执行语句;SQL[n/a];嵌套异常是org.hibernate.except

  • 在我的javaweb应用程序中,我将一些记录插入MySql数据库。我有一个列名“value”,其字段类型为float。当我将以下值76.8653846153846插入到数据库中时,它给出了在第1行为列“value”截断数据的异常。我将字段类型更改为Double,但消息相同。知道吗? 领域描述:

  • 在我的项目中,我使用了txtAdvance的关键事件 在最后一行运行之后,我添加了一个保存按钮来保存这些数据。下面给出了查询。 我正在截断第1行的列“advance”的MySql数据。advance的数据类型为Double。但我找不到办法来计算长度 (例如 列名:iid,数据类型:Int 我正在使用 MySQL 查询浏览器 。问题是当我向txt添加0值时,我遇到了这个错误。

  • 您好,我正在尝试向mysql列添加数据,但在输入了一些数据后,它抛出了主题提到的错误

  • 我试图插入数据从ArrayList到一个mysql表Java,但是我一直得到以下错误:java.sql.SQLException:数据截断列'AAL'在第1行。 以下是一些代码: 任何帮助都非常感谢。