>데이터 베이스 >MySQL 튜토리얼 >MySQL 열에 일련 번호를 할당하는 방법은 무엇입니까?

MySQL 열에 일련 번호를 할당하는 방법은 무엇입니까?

Linda Hamilton
Linda Hamilton원래의
2025-01-02 22:21:38633검색

How to Assign Sequential Numbers to a MySQL Column?

MySQL에서 시퀀스 번호를 사용하여 열 업데이트

문제: MySQL 테이블에 "Number"라는 열이 포함되어 있습니다. 현재 여러 행에 대해 null 값을 보유하고 있습니다. 임무는 1부터 n까지의 일련 번호로 이 열을 업데이트하는 것입니다. 여기서 n은 총 행 수를 나타냅니다.

해결책:

이 업데이트를 수행하려면 단일 SQL 명령으로 SET 문과 업데이트 문을 조합하여 활용할 수 있습니다.

SQL 명령:

SET @rank := 0;
update T
set Number = @rank := @rank + 1;

설명:

이 SQL 명령은 두 가지 개별 부분으로 구성됩니다.

  1. SET @ Rank := 0;: 이 문은 @rank라는 사용자 정의 변수를 0으로 초기화합니다. 변수는 시퀀스 번호를 추적하는 데 사용됩니다.
  2. update T set Number = @rank := @rank 1;: 이 업데이트 문은 Number 열을 업데이트하는 데 사용됩니다. @rank는 처음에 0으로 설정된 다음 T 테이블의 각 행에 대해 1씩 증가합니다. 이렇게 하면 각 행에 고유한 일련 번호가 수신됩니다.

대체 방법(단일 문):

이 업데이트를 수행하는 데 사용할 수 있는 대체 접근 방식 하나의 진술로 is:

UPDATE T
JOIN (SELECT @rank := 0) r
SET Number = @rank := @rank + 1;

참고:

두 방법 모두 1부터 n까지의 일련 번호로 Number 열을 효과적으로 업데이트합니다. 여기서 n은 전체 행 수를 나타냅니다. T테이블.

위 내용은 MySQL 열에 일련 번호를 할당하는 방법은 무엇입니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.