Java更新图片到Mysql:结果Null(insert, select image works fine)

问题描述 投票:0回答:1

我正试图通过swing GUI应用程序将图片上传到mysql。

我遇到的麻烦是更新图像(blob).Insert和选择只是工作正常,同样的更新查询与其他int,字符串字段也工作正常。

try {
                  File sel = new File(path);
                  String a = sel.toURI().toString();
                  InputStream FIS = new FileInputStream(sel);

                  String insert_sql = "INSERT INTO cal (user_id, time, image) "
                        + "VALUES(?,?,?)"
                        + "ON DUPLICATE KEY UPDATE image = ?;"; // 만약 key가 있다면 update.
                  PreparedStatement preparedStmt = conn.prepareStatement(insert_sql);
                  preparedStmt.setInt(1, user_id);
                  preparedStmt.setString(2, date);
                  preparedStmt.setBlob(3, FIS);
                  preparedStmt.setBlob(4, FIS);
                  preparedStmt.execute();
               } catch (IOException e) {
                  // TODO Auto-generated catch block
                  e.printStackTrace();
               } catch (SQLException e) {
                  // TODO Auto-generated catch block
                  e.printStackTrace();
               }
}

如果没有相同的Key,那么插入图像工作就很好.但是,如果有一个相同的ID行,无论 "图像 "列是空的或不是空的,然后它给出了空的输出.此外,正如我在顶部提到的,这个查询工作与其他字符串,整数字段。

先谢谢你的帮助。

java mysql swing blob
1个回答
1
投票

答案是使用mysqls "对重复键更新"

insert into mytable (x,y,z) value (a,b,c) on duplicate key update;
© www.soinside.com 2019 - 2024. All rights reserved.