2012-10-19 22 views
0

我想插入包含數據類型爲MEDIUMTEXT的字段的表中的圖像。請任何一個可以告訴如何插入MEDIUMTEXT數據如何使用java將數據插入包含mediumtext數據類型的mysql數據庫表

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(); 
+1

上面的代碼會發生什麼?任何錯誤? – gks

+0

錯誤的字符串值:'\ x89PNG \ x0D \ x0A ...'列1中的'vcard'列 – raju

回答

0

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

3

由於The BLOB and TEXT Types下記載:

BLOB值被視爲二進制字符串(字節字符串)。他們沒有字符集,排序和比較基於列值中字節的數值。 TEXT值被視爲非二進制字符串(字符串)。他們有一個字符集,並且根據字符集的排序規則對值進行排序和比較。

因此圖像文件(這是二進制,不字符,數據)可以打一些編碼問題遇到其不在列的字符集的有效字節序列時。

可以改用MEDIUMBLOB類型,但實際上是一個應在文件系統存儲文件(這是專爲目的而設計的數據庫),並簡單地將相應的文件系統路徑存儲在MySQL。

相關問題