我想在数据库表中插入值。该表有两列: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();
}
我检查了数据库,没有插入任何内容。服务器输出:
通用域名格式。mysql。jdbc。MysqlDataTruncation:数据截断:数据太长
第1行的“image”列