하은양 믿음군 효실맘 호홍홍집s

jsp 이용 RSV_ID 구하기(mysq 시퀀스사용하기) 본문

가벼운 배움/MySql

jsp 이용 RSV_ID 구하기(mysq 시퀀스사용하기)

호홍홍집 2016. 2. 17. 20:56

-- 예약 자동증가 값 테이블..
CREATE TABLE `TB_AUTO_INC` (
 `AUTO_SEQ` BIGINT NOT NULL AUTO_INCREMENT,
 `NAMECHK_DI` VARCHAR(100), 
 `NAMECHK_CI` VARCHAR(128), 
 `REGDATE` DATETIME, 
 `REG_ID` VARCHAR(100), 
 `REG_IP` VARCHAR(30),  
 PRIMARY KEY (`AUTO_SEQ`)
) ENGINE=MyISAM DEFAULT CHARSET=utf8;

TB_AUTO_INC  : 자동증가 값처리하고 LAST_INSERT_ID() 함수이용하여
최근 발생한 이전 자동증가값 가져오기처리...

alter table TB_AUTO_INC auto_increment=1000;   // 최초 시작값 1000

LAST_INSERT_ID()라는 함수를 사용하면 된다. 이 함수는 가장 최근에 성공적으로 수행된 INSERT 구문의 첫번째AUTO_INCREMENT column의 값을 반환한다.


// RSV_ID  구하기...
sSql = "INSERT INTO TB_AUTO_INC ( " +
    "   NAMECHK_DI,  " +
    "   NAMECHK_CI,  " +
    "   REGDATE,    " +
    "   REG_ID, " +
    "   REG_IP   " +
    ") VALUES (  " +
    "    '"+NameChk_DI+"',  " +
    "    '"+NameChk_CI+"',  " +
    "    now(),  " +
    "    '"+NameChk_DI+"',  " +
    "    '"+sREMOTE_IP+"'  " +
    " ) ";
int iInRSV = dbhandle.dbUpdate(sSql);

sSql = "SELECT CONCAT(CONCAT(DATE_FORMAT(now(),'%y%m%d%H%i%s'),'_'), LAST_INSERT_ID()) AUTO_SEQ FROM TB_AUTO_INC";
String sAutoSeq = dbhandle.getSelectone(sSql);
String sAutoSeq1 = util.getExplodeString(sAutoSeq,"_",0);
String sAutoSeq2 = util.getExplodeString(sAutoSeq,"_",1);
if(sAutoSeq2.length() == 1){
   sAutoSeq2 = "00"+sAutoSeq2;
}else if(sAutoSeq2.length() == 2){
   sAutoSeq2 = "0"+sAutoSeq2;
}else if(sAutoSeq2.length() >= 3){
   sAutoSeq2 = sAutoSeq2.substring(sAutoSeq2.length()-3);
}
String rsv_id = sAutoSeq1 + sAutoSeq2;