웹마스터 팁

XE는 모듈, 문서, 댓글, 회원 등 모든 것에 고유번호(srl)를 부여합니다.

그런데 이게 테이블마다 별도로 auto_increment되는 것이 아니라 사이트 전체에서 유일한 번호이기 때문에

XE 내에서 작업하지 않고 DB에서 직접 작업해야 할 때는 상당히 귀찮습니다.

잘못 건드리면 시퀀스 값이 중복되어서 난리나고요 ㅠㅠ

 

MySQL 5.x에서는 아래와 같은 프로시저를 생성하여 시퀀스 작업을 단순화할 수 있습니다.

DELIMITER //
DROP FUNCTION IF EXISTS xe_next_sequence //

CREATE FUNCTION xe_next_sequence() RETURNS BIGINT
BEGIN
  DECLARE next_sequence BIGINT;
  INSERT INTO xe_sequence (seq) VALUES (0);
  SELECT LAST_INSERT_ID() INTO next_sequence;
  IF (next_sequence % 10000 = 0) THEN
    DELETE FROM xe_sequence WHERE seq < next_sequence;
  END IF;
  RETURN next_sequence;
END //
DELIMITER ;

이렇게 해두면 어디서든 시퀀스 값이 필요할 때

SELECT xe_next_sequence();

이렇게 간단한 쿼리 한 번으로 다음 시퀀스 값을 뽑아낼 수 있게 됩니다.

또한 다른 쿼리를 작성할 때도

INSERT INTO xe_table_name VALUES (xe_next_sequence(), 'foo', 'bar', ... );

이렇게 활용이 가능합니다.

 

※ 꼭 필요한 경우가 아니면 DB를 직접 건드리지 않는 것이 좋습니다. 잘못하면 데이터 다 날아갑니다.

 

제목 글쓴이 날짜
[XE수정] '새버전을 업데이트...'이 부분이 눈에 거슬리면... [1] 브레인630 2015.08.11
DB에서 직접 시퀀스 생성하기 [3] 기진곰 2015.07.18
[SocialXE] 트위터 로그인시 프로필 사진이 표시되지 않는 문제 해결하기 [3] file TUW 2013.02.03
[SocialXE] 1.7.4.x 업데이트 후 SocialXE에서 '잘못된 요청입니다.' 오류가 뜨는 문제 해결하기 [15] file TUW 2014.03.26
[업데이트] [Easy Tip] [XE 1.7] XE 코어 js, css파일 jsdelivr CDN사용하기 [13] file Typhoon 2014.08.28
socialXE 에서 로그인시 소셜로그인과 XE 로그인 동시 구현하기 file 큐우우 2014.08.31
SocialXE 관련 사용팁 적용 수정 파일 [3] file 휘즈 2014.07.13
XE 왕초보를 위한 글 [13] 휘즈 2009.08.06
[XE 1.7] 스팸필터 설정이 안되는 경우 해결 방법 [3] 퍼니엑스이 2014.02.03
기본게시판에서 익명 선택하여 "게시글, 댓글" 작성이 가능하도록 세팅하기(sketchbook5 기준) [15] Ashon 2013.01.08
카페XE를 Domain 접속으로 설정 후 관리페이지 접속 불가할때 [1] 라르게덴 2013.08.24
XE로 API 처리 완전 정복하기(1) [6] file 라르게덴 2009.11.02
모듈 자동 생성기 [ModuleCreater] v0.2 (다국어 지원 기능 추가) [28] file 택피 2012.07.20
모듈 개발하실때 새로운 버전이 나오면 알림 기능 만들기 [4] file 라르게덴 2011.02.24
내 PC에서 XE 빠르게 설치하는 방법 [7] 차오이 2011.04.10
XE 홈피에 예쁜 음악BGM 넣는 방법(프레임 분리형 플래시BGM) 푸른커튼2 2011.04.18
제로보드 XE - 오토셋에 설치하기 [11] file 차오이 2007.08.11
방명록(Guestbook)에 소셜댓글을 다는 방법(소셜 방명록?) 띵야 2011.02.13
XE 용량 효과적으로 줄이기 [13] 코스트렐리아 2010.07.30
'대표도메인'연결후 '로그인'이 안될때,,(먹통) moonlight994 2011.01.24