2011-05-13 3 views
0

테이블에 80 개의 항목이 있고 테이블이 채워지면 자동 증가하도록 설정했다고 가정 해 보겠습니다. 그때 나는 다양한 위치에서 10 개 개의 레코드를 제거, 지금은 같이 항목이 : SQL/PHP 데이터베이스 테이블의 키 ID를 다시 채우십시오.

7, 8, 9, 11, 14, 16, 등등 ...

싶습니다

순차적에서 그 번호를 다시 매길 주문하지만 수동으로 수동으로 해보고 싶지 않아요. 알파벳 순서에 따라 새 키 ID #를 어떻게 만들 수 있습니까?

미리 감사드립니다.

+1

어디서나이 ID를 참조하지 않는다고 가정하면 전혀 변경하지 않아도됩니다. – Datajam

+1

간단히 말해서는 안됩니다. 좀 더 자세히 설명해 드리겠습니다 : 어떤 이점도 얻지 못하면 데이터베이스가 손상 될 수 있습니다. ID는 식별자입니다. 일반적으로 ID가 변경되면 변경된 ID 대신 새 레코드라는 의미입니다. – KingCrunch

+0

ID를 참조하고 있으며, 각 항목 옆에 #를 표시해야합니다. –

답변

4

그렇게하고 싶지 않거나 그렇게 할 필요가 없습니다. 그것은 db 디자인의 많은 원칙을 위반하고 불필요한 결과를 초래합니다 (저를 신뢰하십시오).

무언가를 연속적으로 번호 지정해야하는 경우 트리거를 만드십시오. 그런 목적으로 기본 키를 사용하지 마십시오.

0

몇 가지보기로 출력 할 때 순차적으로 행 번호를 매기는 방법을 찾고 있다면 PHP로 동적으로 수행 할 수 없습니까? 그런 다음

table: dogs 
id | name 
--------- 
1 | Rover 
4 | Fido 
7 | Timothy 

은 (당신이

를 실행하는 어떤 루프 수정
<? 
$Dogs = mysql_fetch_array(your sql query); 

foreach ($Dogs as $cnt => $Dog) 
{ 
    echo ($cnt+1).": ".$Dog['name']."<br />"; 
} 
?> 

겠습니까 출력 : 1 : 로버 2 : 스누피 3 : 디모데

하다니 여전히 데이터베이스의 신성함을 유지 색인

관련 문제