복붙노트

[SQL] JDBC를 사용하여 정수 열을 널 삽입

SQL

JDBC를 사용하여 정수 열을 널 삽입

내가 SQL 컬럼 프로토콜을 가지고, 그것은 Null을 허용하고 테이블에 제약 조건이

PROTOCOL IN (1, 2, 3)

이 널 (NULL) 또한 이후, 나는 설정하고 테이블에 널 (null) 값을 얻으려면

그러나 나는 널 (null)로 setInt과의 getInt 할 수 없습니다. JDBC를 사용하여 널 (null)로 컬럼에 널 (null)를 설정하는 방법

setInt(4,null);

해결법

  1. ==============================

    1.사용해보십시오.

    사용해보십시오.

       pst.setNull(4, java.sql.Types.INTEGER);  //pst is prepared statement instance.
    

    인터페이스 PreparedStatement.setNull의 API

    SQL 유형에 java.sql.Types로의 매핑

    추신 : 편집 자바 8 업데이트를 반영합니다.

  2. ==============================

    2.스 미트의 대답에 추가 :

    스 미트의 대답에 추가 :

    당신이 null의 경우 데이터베이스에 정수 객체를 삽입 할 경우, 당신은 사용할 수 있습니다

    statement.setObject(4, yourObject, java.sql.Types.INTEGER);
    

    대신에

    if (yourObject == null) {
        statement.setNull(4, java.sql.Types.INTEGER);
    else {
        statement.setInt(4, yourObject);
    }
    
  3. from https://stackoverflow.com/questions/14514589/inserting-null-to-an-integer-column-using-jdbc by cc-by-sa and MIT license