[SQL] 차 인덱스 번호를 다시 지정하는 방법
SQL차 인덱스 번호를 다시 지정하는 방법
I 간단한 MySQL의 테이블 차 인덱스 (ID)를 가지고 온 (1, 31, 35, 100 등)가 하나의 번호가 아니다. 나는 그들이 (1, 2, 3, 4)와 같이 번호가되어야합니다. 그것을 어떻게 알려주세요. 나는 또한 작업의 가능한 결과의 알고 있다는 점 싶지만, 난 그냥 테이블을 정돈하고 싶다.
해결법
-
==============================
1.나는 다른 방법이 작동 동의하지만, 난 그냥 다른 생각을주고있다. 이것은 어떤 임시 테이블 작성 요구 사항없이 할 것입니다 :
나는 다른 방법이 작동 동의하지만, 난 그냥 다른 생각을주고있다. 이것은 어떤 임시 테이블 작성 요구 사항없이 할 것입니다 :
SET @i=0; UPDATE table_name SET column_name=(@i:=@i+1);
-
==============================
2.dalmp의 번호 재 지정 방법을 시도 제공 (MySQL은 PHP를 사용하는 DALMP 데이터베이스 추상화 계층을.)
dalmp의 번호 재 지정 방법을 시도 제공 (MySQL은 PHP를 사용하는 DALMP 데이터베이스 추상화 계층을.)
$db->renumber('table','uid');
기본적으로이 작업을 수행합니다
SET @var_name = 0; UPDATE Tablename SET ID = (@var_name := @var_name +1); ALTER TABLE tablename AUTO_INCREMENT = 1
-
==============================
3.가장 쉬운 해결 방법은 다음과 같습니다
가장 쉬운 해결 방법은 다음과 같습니다
당신이 외래 키를 사용하는 경우이 모든 데이터를 파괴하고 난 강력하게 그들이 당신이 ID를 떠나 좋습니다. 기본 키가 고장 참조 무결성 (ID 값이 다른 테이블에 잘못된 또는 존재하지 않는 행을 가리키는)의 경우하지가 순서대로 데이터베이스가 어수선한입니다 때문에 데이터베이스는 어수선한 없습니다.
-
==============================
4.의견에 나중에 감사를 편집했다.
의견에 나중에 감사를 편집했다.
-
==============================
5.
CREATE TABLE newtable LIKE oldtable SELECT NULL, col1, col2, col3, etc FROM oldtable;
선택의 기본 키 열하지만, 다른 모든 열을 포함하지 않고.
그리고 기본 키 열은 테이블에 먼저해야하거나 기본 키 컬럼의 위치로 NULL을 설정해야합니다. 그리고 열은 "NOT NULL"설정이 있어야합니다. 그렇지 않으면 단지 널 (null)로 설정하고, 그 종류 무의미의의 것입니다.
MySQL은 auto_increments에 NULL 삽입을 무시하고 대신 (널 (null)가 유효한 값이 해당 컬럼에없는 것을 제공) 그것을 위해 새 번호를 만들 것을 좋아하기 때문에이 작동하는 이유입니다.
-
==============================
6.당신은 그것을 원하지 않는다. 기본 키는 번호가 아닙니다. 그냥 의미없는 고유 한 순이다.
당신은 그것을 원하지 않는다. 기본 키는 번호가 아닙니다. 그냥 의미없는 고유 한 순이다.
-
==============================
7.(이 기본 키의 경우) 당신은 당신의 기본 키의 자동 증가를 정의해야
(이 기본 키의 경우) 당신은 당신의 기본 키의 자동 증가를 정의해야
여기 링크입니다 :
SQL 자동 증가
from https://stackoverflow.com/questions/2643371/how-to-renumber-primary-index by cc-by-sa and MIT license
'SQL' 카테고리의 다른 글
[SQL] 무슨 오류를 일으키는 : 참조 된 테이블에 대한 키를 제공에는 고유 제한 조건의 일치가 없다? (0) | 2020.05.08 |
---|---|
[SQL] 인덱스의 키 컬럼으로 사용하기 위해 유효하지 않은 유형이다 (0) | 2020.05.08 |
[SQL] SQL Server의 데이터베이스의 모든 테이블 사이의 관계를 알고 (0) | 2020.05.08 |
[SQL] SQL 성능 : WHERE WHERE (ROW_NUMBER) 대 (0) | 2020.05.08 |
[SQL] 어떻게 GROUP BY를 사용하여 각 그룹의 최신 기록을 얻으려면? [복제] (0) | 2020.05.08 |