응용개발

CUBRID AUTO_INCREMENT 컬럼 MySQL LAST_INSERT_ID() 대체 방법

by 손승일 posted Dec 22, 2009

AUTO_INCREMENT 컬럼 MySQL LAST_INSERT_ID() 대체 방법
AUTO_INCREMENT 특성이 부여된 컬럼에 데이터 저장 후 자동 생성된 값을 얻어오는 MySQL함수인 LAST_INSERT_ID() CUBRID에서 지원하지 않는 함수이다.

이를 대체하기 위해서는 JDBC 프로그램에서만 가능한데 PreparedStatement.getGeneratedKeys() 메소드를 사용할 수 있다.

Create table test_t(a int auto_increment, b char(10), c char(10) );

//MySQL
Insert into test_t(b,c) value(‘b’,’c’);

Select LAST_INSERT_ID(); //자동 증가된 a 컬럼의 값을 가져온다.

è

//CUBRID
preparedStatement =

connection. prepareStatement(“insert into test_t(b,c) value(‘b’,’c’)”, Statement.RETURN_GENERATED_KEYS);

preparedStatement.execute();

resultSet = preparedStatement.getGeneratedKeys();

if (rs.next()) {

java.math.BigDecimal bdDocNo = rs.getBigDecimal(1);

   docNo = bdDocNo.intValue();

}


Articles

1 2 3