출처 : https://ojs20022002.tistory.com/494
/* mysql 시퀀스 기본 생성 예 */
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 | /* seq_mysql 테이블 생성 */ CREATE TABLE seq_mysql( id INT NOT NULL, seq_name VARCHAR(50) NOT NULL ); /* 생성된 펑션 삭제 */ DROP FUNCTION IF EXISTS get_seq; /* Auto_increment 적용 */ DELIMITER $$ CREATE FUNCTION get_seq (p_seq_name VARCHAR(45)) RETURNS INT READS SQL DATA BEGIN DECLARE RESULT_ID INT; UPDATE seq_mysql SET id = LAST_INSERT_ID(id+1) WHERE seq_name = p_seq_name; SET RESULT_ID = (SELECT LAST_INSERT_ID()); RETURN RESULT_ID; END $$ DELIMITER ; /* 시퀀스 생성 */ INSERT INTO seq_mysql VALUES (0, 'boardSeq'); /* 시퀀스 삽입 */ get_seq('boardSeq') | cs |
mysql에서는 테이블을 생성하고, 변수 값으로 시퀀스와 같은 기능을 만들 수 있다.
위의 예처럼 순서대로 생성해주면, get_seq('boardSeq') 라는 값을 시퀀스처럼 사용 가능하다.
시퀀스 객체 초기화를 위해, 많은 방법이 있겠지만
나의 경우에는 위에서 "생성된 펑션 삭제" 구문을 실행해주고, 다시 생성해주는 방법을 사용했다.
mysql이 미숙한 모든 분들에게 좋은 팁이 되었으면 좋겠다.
출처: https://ojs20022002.tistory.com/494 [JSO]
'DB > MySQL' 카테고리의 다른 글
[이것이 MySQL이다] 07. SQL 고급(1) (0) | 2019.07.25 |
---|---|
mysql function 생성하기 (0) | 2019.07.25 |
MySQL - DB/테이블 관리 기본 명령어 (0) | 2019.07.23 |
뷰(view) 작성 (0) | 2019.05.05 |
HeidiSQL을 이용해 DB 테이블 생성 (0) | 2019.05.03 |