1
사용자 정의 표시 순서 레코드를 제어하는 데 사용되는 정수 필드가있는 테이블이 있습니다.행 번호를 기반으로 테이블 업데이트
예 :
SET @rownumber = 0;
SELECT
@rownumber:[email protected]+1 AS rownumber,
slides.displayorder
WHERE
active = 1
ORDER BY displayorder ASC
이 쿼리 나에게 조금이 같은 결과를 제공합니다
rownumber | displayorder
-----------+-------------
1 2
2 7
3 15
4 50
5 80
레코드가/승인되지 않은 (표시 순서에 따라서 격차를) 삭제됩니다 때까지 확인을 작동합니다.
레코드를 제거한 후 displayorder
열을 rownumber 변수의 값으로 설정하는 업데이트 쿼리를 실행하고 싶습니다.
rownumber | displayorder
-----------+-------------
1 1
2 2
3 3
4 4
5 5
이 작업을 수행 할 수있는 간단한 방법이 있을까요 :이 같은 결과를주는
?
갭이 중요한 이유는 무엇입니까? 삭제시 주문이 보존됩니다. 확실하게 삽입/업데이트시 '영리한'작업 만 수행하면됩니다. – briantyler
트리거 사용에 익숙합니까? 삭제에 의해 트리거되는 업데이트는 사용자가 원하는 것을 수행합니다. 즉, 항목을 재정렬하는 전략에 대해 궁금합니다. # 5 행이 # 2와 # 3 사이에 표시되도록 사용자가 지정할 수 있습니까? –
트릭 (SELECT @var : = @ var + 1 ..)이 MySql에서 작동합니까? – RBarryYoung