2011-01-25 8 views
0

항목을 나열하고 때로는 편집하고 제거하여 공백을 만드는 테이블이 있습니다. 예 : 1,2,4,5,6,8,10 나는 그 (것)들을 순서대로 가지고 있고 싶다 : 1,2,3,4,5,6,7공백/점프를 제거하기 위해 SQL 색인을 수정하는 방법은 무엇입니까?

이것을하는 어떤 부호 있는가? qick과 고통?

감사합니다.

+6

그냥 그렇게해서는 안된다. 얻은 것은 없으며 그러한 행동으로 인해 많은 것을 잃을 수 있습니다. – Mchl

+0

다른 테이블에 표시된이 항목 목록을 표시하지 않습니까? 어쩌면 [이 질문] (http://stackoverflow.com/questions/287794/multivalued-attributes-in-databases)을 참조하십시오. – pascal

+0

일부 응답 및 의견은 기본 키 필드가 변경되었다고 가정한다고 가정합니다. 이것이 맞습니까, 아니면 키가 아닌 필드입니까? 하지만 어느 쪽이든 다른 접근 방식이 좋은 아이디어 일 것입니다. –

답변

0

외래 키 제약이있는 경우 ON UPDATE CASCADE (전염병처럼 피하는 경향이있는 항목)을 사용해야합니다.

숫자가 순차적이거나 미학을위한 좋은 이유가 있습니까?

'누락 된 키'는 아무 문제가 없습니다. 데이터베이스는 거의 신경 쓰지 않습니다.

당신이 정말로 다음이 작업을 수행해야하는 경우 :

SET @indx = 1; 
UPDATE `table` SET `field` = (@indx:[email protected]+1) ORDER BY `field` ASC; 

재미가 ...

+0

세트는 0이어야합니다. – RichardTheKiwi

관련 문제