Mysql
 sql >> Baza danych >  >> RDS >> Mysql

Nie można wstawić byte[] do MySQL za pomocą java

Problem polega na tym, że twoja kolumna o nazwie „klucz” jest słowem rezerwowym w SQL. Otocz go kleszczami i wszystko powinno działać. Jeszcze lepiej, rozważ zmianę nazwy kolumny na coś, co nie jest słowem rezerwowym SQL. Udowodniłem to za pomocą poniższego kodu:

Tabela MySQL:

create table keytable (name varchar(255) not null, `key` blob not null);

Kod Java:

import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.PreparedStatement;
import java.sql.SQLException;

public class MySQLBlobInsert {

    public static void main(String[] args) {
        try {
            Class.forName("com.mysql.jdbc.Driver").newInstance();
        } catch (Exception e) {
            throw new RuntimeException(e);
        }
        Connection conn = null;
        try {
            conn = DriverManager.getConnection("jdbc:mysql://localhost:3306/test", "root", "password");
            byte[] bkey = "This is some binary stuff".getBytes();
            String query = "INSERT INTO keytable (name, `key`) VALUES (?,?)";
            PreparedStatement pstmt = conn.prepareStatement(query);
            pstmt.setString(1, "test");
            pstmt.setBytes(2, bkey);
            pstmt.execute();
        } catch (SQLException e) {
            throw new RuntimeException(e);
        } finally {
            if (conn != null) {
                try { conn.close(); } catch (SQLException e) {}
            }
        }
        System.out.println("done :)");
    }
}


  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Zapytania MySQL są szybkie, gdy są uruchamiane bezpośrednio, ale naprawdę wolno, gdy są uruchamiane jako przechowywane proc

  2. Jak zaimportować zrzut MySQL z wiersza poleceń Z nadpisaniem?

  3. wstaw, jeśli nie istnieje, po prostu wybierz w mysql

  4. Javascript wysyła dane przez POST w dodatku do firefox

  5. zmień status harmonogramu zdarzeń w mysql