Mysql
 sql >> база данни >  >> RDS >> Mysql

Не може да се вмъкне байт [] в MySQL с помощта на java

Проблемът е, че вашата колона, наречена "ключ", е резервна дума в SQL. Обградете го с тикчета и нещата трябва да работят. Още по-добре, помислете за преименуване на колоната на нещо, което не е резервна SQL дума. Доказах това с помощта на кода по-долу:

MySQL таблица:

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

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. Идеален тип поле за двоични данни с фиксирана ширина

  2. Структура и заявка на системата за приятелство на Sql

  3. Как работи функцията INSTR() в MySQL

  4. Как да създадете съхранена процедура в MySQL

  5. TinyMCE UTF-8 запазване в MySQL база данни