내 프로그램에 ITM001, ITM002...
형식의 자동 증가 ID가 있습니다. 그러나 ITM009, ITM0010
다음에 시퀀스가 깨지고 ITM001
으로 돌아갑니다. 따라서 ITM0011
대신 다음 항목 ID가 ITM0010
이됩니다. 순서를 계속 진행하기 위해 쿼리를 작성하는 방법을 이해하는 데 도움을주십시오.자동 증가 ID가 시퀀스를 깨뜨림
ITM001 **ITM0010** ITM002 ITM003 ITM004 ITM005 ITM006 ITM007 ITM008 ITM009
Connection conn = DBConnection.conn();
String sql = "select itemId from ItemMain";
ResultSet res = DBHandller.getData(sql, conn);
if (res.last()) {
String lastid = res.getString("itemId");
return lastid;
}
return null;
/////////////////////////////////////////////////////////////////////////////
String itemID = ItemController.getItemID();
String[] split = itemID.split("ITM",0);
int num = Integer.parseInt(split[1]);
itemID = "ITM00"+ (num+1);
txtitemID.setText(itemID);
@ 폴리쉬 프린스 자바 – amal
간격없는 시퀀스가 필요한 경우 자동 증가는 작업에 대한 잘못된 도구 일뿐입니다. 무엇이든지, 열이 VARCHAR 인 것처럼 보이기 때문에 자동 증가를 사용하는 방법이 즉시 명확하지 않습니다. -? –
@ Álvaro G. Vicario 예. itemId는 varchar입니다. Item ID의 시퀀스를 어떻게 얻을 수 있는지 알 수 있습니까? – amal