아무나 빌려가세요
mysql 중간데이터 삭제후 순서대로 idx 업데이트 하기 본문
프로시저 : 쿼리를 하나의 메서드처럼 생성하여 복잡한 쿼리문을 실행할 수 있다.
프로시저를 만들어 중간의 idx값이 삭제된후 다시 숫자순서대로 재정렬 한다.
CREATE PROCEDURE `AdjustIdx`(p_idx int)
BEGIN
DELETE FROM table WHERE idx = p_idx;
SET @new_idx = 0;
UPDATE table
SET idx = (@new_idx := @new_idx + 1)
ORDER BY idx;
END
DELETE FROM table WHERE idx = p_idx;
: 원하는 idx값의 컬럼을 삭제한다.SET @new_idx = 0;
: 가상변수 @new_idx를 생성한다.UPDATE table SET idx = (@new_idx := @new_idx + 1)
: idx값을 순서대로 하나씩 업데이트한다.ORDER BY idx;
: idx값으로 재정렬한다.
'오늘 배운 프로그래밍' 카테고리의 다른 글
docker + flask + apache 를 이용한 앱 배포 (2) (2) | 2023.12.22 |
---|---|
docker + flask + apache 를 이용한 앱 배포 (1) (0) | 2023.12.21 |
pm2 /usr/bin/bash:1ELF ^SyntaxError: Invalid or unexpected token 에러 (0) | 2023.11.02 |
리눅스 CPU 사용률, 메모리 ,디스크 상태 명령어 (2) | 2023.10.31 |
Invalid command 'SSLPassPhraseDialog', perhaps misspelled or defined by a module not included in the server configuration 에러 (0) | 2023.10.31 |