0

データ型 MEDIOMTEXT のフィールドを含むテーブルに画像を挿入したいと考えています。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

TheBLOBおよびTEXTTypesに記載されているとおり:

BLOB値はバイナリ文字列 (バイト文字列) として扱われます。これらには文字セットがなく、並べ替えと比較は列値のバイトの数値に基づいています。TEXT値は非バイナリ文字列 (文字列) として扱われます。それらには文字セットがあり、値は文字セットの照合に基づいてソートおよび比較されます。

したがって、列の文字セットで無効なバイト シーケンスが検出された場合、画像ファイル (文字データではなくバイナリデータ) でエンコードの問題が発生する可能性があります。

代わりにタイプを使用することもできMEDIUMBLOBますが、実際にはファイルをファイル システム (その目的のために特別に設計されたデータベース) に保存し、それぞれのファイル システム パスを MySQL に保存するだけです。

于 2012-10-19T12:47:18.383 に答える
0

psmt=con.prepareStatement("INSERT INTO ofvcard (username,vcard) " + "VALUES (?,?)"); psmt.setString(1,"管理者"); pstmt.setString(2,"テスト") int s = psmt.executeUpdate();

于 2012-11-21T11:45:08.047 に答える