我想在数据库表中插入值。该表有两列: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”列的数据太长
1条答案
按热度按时间8yparm6h1#
我修好了。我更改了
image
列自blob
至longblob
谢谢。