preparedstatement.executeupdate()不影响数据库

emeijp43  于 2021-06-21  发布在  Mysql
关注(0)|答案(1)|浏览(403)

我想在数据库表中插入值。该表有两列:id和image。id是一个自动递增的int,图像是blob类型。这是我的密码:

try {
    Class.forName("com.mysql.jdbc.Driver");
    Connection con = DriverManager.getConnection(url, userName, password);
    File imgfile = new File(request.getParameter("img"));
    InputStream fin = new FileInputStream(imgfile);
    PreparedStatement pre = con.prepareStatement("insert into pictures (image) values(?)");
    pre.setBinaryStream(1, fin, imgfile.length());
    int done=pre.executeUpdate();
} catch(SQLException | ClassNotFoundException e) {
    e.printStackTrace();
}

我查了一下数据库,什么都没插入。服务器输出:
com.mysql.jdbc.mysqldatatruncation:数据截断:第1行“image”列的数据太长

8yparm6h

8yparm6h1#

我修好了。我更改了 image 列自 bloblongblob 谢谢。

相关问题