비순차적 값을 사용하여 MySQL 기본 인덱스의 번호를 오름차순으로 다시 매기려면 어떻게 해야 합니까?

Patricia Arquette
풀어 주다: 2024-10-25 11:26:30
원래의
707명이 탐색했습니다.

How can I renumber a MySQL primary index with non-sequential values in ascending order?

정렬 데이터의 기본 인덱스 번호 다시 매기기

질문:

다음과 같은 MySQL 테이블이 있습니다. 값이 순차적으로 번호가 매겨지지 않은 기본 인덱스입니다. 어떻게 순서대로(1, 2, 3, ...) 번호를 다시 매길 수 있나요?

답변:

다른 방법도 사용할 수 있지만 대체 접근 방식은 다음과 같습니다. 임시 테이블을 생성할 필요가 없습니다.

해결책:

다음 SQL 문을 실행합니다.

<code class="sql">SET @i=0;
UPDATE table_name SET column_name=(@i:=@i+1);</code>
로그인 후 복사

설명:

  • 첫 번째 줄은 세션 변수 @i를 0으로 초기화합니다.
  • 두 번째 줄은 table_name이라는 테이블에 대해 UPDATE 쿼리를 수행합니다.
  • UPDATE 내 쿼리에서 SET 절은 기본 인덱스 열인 column_name에 새 값을 할당합니다.
  • 세션 변수 @i를 1씩 증가시켜 새 값을 계산합니다.
  • 쿼리가 실행되면 @ i 변수는 계속 증가하므로 기본 인덱스 값의 번호가 순차적으로 다시 매겨집니다.

위 내용은 비순차적 값을 사용하여 MySQL 기본 인덱스의 번호를 오름차순으로 다시 매기려면 어떻게 해야 합니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

원천:php.cn
본 웹사이트의 성명
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.
저자별 최신 기사
인기 튜토리얼
더>
최신 다운로드
더>
웹 효과
웹사이트 소스 코드
웹사이트 자료
프론트엔드 템플릿
회사 소개 부인 성명 Sitemap
PHP 중국어 웹사이트:공공복지 온라인 PHP 교육,PHP 학습자의 빠른 성장을 도와주세요!