0

我想将图像插入到包含数据类型为 MEDIUMTEXT 的字段的表中。请任何人告诉如何插入mediumtext数据

psmt=con.prepareStatement("INSERT INTO ofvcard (username,vcard) " + "VALUES (?,?)");
psmt.setString(1,"admin");
fis=new FileInputStream(image);
psmt.setBinaryStream(2, (InputStream)fis, (int)(image.length()));
int s = psmt.executeUpdate();
4

2 回答 2

3

TheBLOBTEXTTypes下所述:

BLOB值被视为二进制字符串(字节字符串)。它们没有字符集,排序和比较基于列值中字节的数值。TEXT值被视为非二进制字符串(字符串)。它们有一个字符集,并且根据字符集的排序规则对值进行排序和比较。

因此,当遇到在列的字符集中无效的字节序列时,您的图像文件(它是binary,而不是character数据)可能会遇到一些编码问题。

可以改为使用该MEDIUMBLOB类型,但实际上应该将文件存储在文件系统(这是专门为此目的设计的数据库)中,并简单地将相应的文件系统路径存储在 MySQL 中。

于 2012-10-19T12:47:18.383 回答
0

psmt=con.prepareStatement("INSERT INTO ofvcard (username,vcard)" + "VALUES (?,?)"); psmt.setString(1,"admin"); pstmt.setString(2,"testing") int s = psmt.executeUpdate();

于 2012-11-21T11:45:08.047 回答