번호를 다시 매길 때마다 문제가 있을 수 있습니다. 열에 대한 고유 ID를 선언해야 합니다.
MySQL 버전 5.6 InnoDB에서는 INSERT 문에 ID 열을 포함하여 auto_increment ID를 재사용할 수 있으며 원하는 특정 값을 제공할 수 있습니다.
상황은 다음과 같습니다 -
- 숫자가 가장 높은 ID를 삭제할 때마다
- MySQL 서버를 시작하고 중지할 때마다
- 새 레코드를 삽입할 때마다
auto_increment 변수를 사용한 ID 자동 증가의 예
mysql> 테이블 UniqueAutoId 생성 -> ( -> id int auto_increment, -> Unique(id) -> ), 쿼리 확인, 영향을 받는 행 0개(0.45초)
테이블에 레코드 삽입하기.
mysql> insert into UniqueAutoId values();Query OK, 1개의 row가 영향을 받습니다(0.13초)mysql> insert into UniqueAutoId values();Query OK, 1개의 row가 영향을 받습니다(0.16초)mysql> insert into UniqueAutoId values(); 쿼리 OK, 영향을 받는 행 1개(0.07초)mysql> UniqueAutoId values()에 삽입; 쿼리 OK, 영향을 받는 행 1개(0.10초)mysql> UniqueAutoId values()에 삽입, 쿼리 OK, 영향을 받는 행 1개(0.10초)사전>모든 기록을 표시합니다.
mysql> 선택 *UniqueAutoId;다음은 출력입니다.
+----+| 아이디 |+----+| 1 || 2 || 3 || 4 || 5 |+----+5행 세트(0.00초)레코드를 삭제하기 위해 DELETE 문을 사용했습니다. 여기서 id=5;
를 삭제합니다.mysql> DELETE from UniqueAutoId where id=5;Query OK, 영향을 받는 행 1개(0.14초)모든 기록을 표시합니다.
mysql> 선택 *UniqueAutoId;다음은 출력입니다.
+----+| 아이디 |+----+| 1 || 2 || 3 || 4 |+----+4행 세트(0.00초)테이블에서 레코드를 다시 삭제해 보겠습니다.
mysql> id=2인 UniqueAutoId에서 삭제, 쿼리 확인, 1개 행이 영향을 받음(0.15초)다시, 테이블의 레코드를 표시합니다.
mysql> 선택 *UniqueAutoId;다음은 출력입니다.
+----+| 아이디 |+----+| 1 || 3 || 4 |+----+3행 세트(0.00초)위의 결과는 조각화됩니다.