[SQL] 어떻게 MySQL의에서 AUTO_INCREMENT를 재설정?
SQL어떻게 MySQL의에서 AUTO_INCREMENT를 재설정?
어떻게 필드의 AUTO_INCREMENT를 재설정 할 수 있습니다? 나는 다시 1부터 계산을 시작합니다.
해결법
-
==============================
1.당신과 함께 카운터를 재설정 할 수 있습니다 :
당신과 함께 카운터를 재설정 할 수 있습니다 :
ALTER TABLE tablename AUTO_INCREMENT = 1
이노 위해 당신은 낮은 AUTO_INCREMENT 값을 설정할 수 없습니다 또는 가장 높은 현재 인덱스에 동일. (ViralPatel에서 인용) :
다른 테이블에서 MAX 값을 사용하여 MySQL의 자동 증가를 재설정하는 방법을 참조하십시오? 동적 허용 값을 얻는 방법에.
-
==============================
2.
ALTER TABLE tablename AUTO_INCREMENT = 1
-
==============================
3.
SET @num := 0; UPDATE your_table SET id = @num := (@num+1); ALTER TABLE your_table AUTO_INCREMENT =1;
나는이 그것을 할 것입니다 생각
-
==============================
4.간단하게이 같은 :
간단하게이 같은 :
ALTER TABLE tablename AUTO_INCREMENT = value;
참조 : http://dev.mysql.com/doc/refman/5.1/en/alter-table.html
-
==============================
5.은 "작업"탭에서 phpMyAdmin에있는 아주 쉬운 방법이있다, 당신은 당신이 원하는 번호로, 테이블 옵션에서 자동 증가를 설정할 수 있습니다.
은 "작업"탭에서 phpMyAdmin에있는 아주 쉬운 방법이있다, 당신은 당신이 원하는 번호로, 테이블 옵션에서 자동 증가를 설정할 수 있습니다.
-
==============================
6.나를 위해 일한 가장 좋은 해결책 :
나를 위해 일한 가장 좋은 해결책 :
ALTER TABLE my_table MODIFY COLUMN ID INT(10) UNSIGNED; COMMIT; ALTER TABLE my_table MODIFY COLUMN ID INT(10) UNSIGNED AUTO_INCREMENT; COMMIT;
그것의 빠른, 이노 디비와 함께 작동, 나는 현재 최대 값을 알 필요가 없습니다! 이 방법은 자동 증가 카운터가 재설정되고 최대 값이 존재에서 자동으로 시작됩니다.
-
==============================
7.이 질문에 대한 가장 높은 평점 대답은 모두 "ALTER yourtable AUTO_INCREMENT = 값"을 추천합니다. 바꾼다의 값이 자동 증가 컬럼의 현재 최대 값보다 큰 경우에는,이 경우에만 작동합니다. MySQL의 8 설명서에 따르면 :
이 질문에 대한 가장 높은 평점 대답은 모두 "ALTER yourtable AUTO_INCREMENT = 값"을 추천합니다. 바꾼다의 값이 자동 증가 컬럼의 현재 최대 값보다 큰 경우에는,이 경우에만 작동합니다. MySQL의 8 설명서에 따르면 :
영업 이익은 질문의 두 번째 부분의 요청으로 본질적으로, 당신은 단지 ALTER AUTO_INCREMENT는하지 1로 재설정는 자동 증가 컬럼의 값을 증가 할 수 있습니다. 실제로 현재 최대에서 아래로 AUTO_INCREMENT를 설정할 수있는 옵션의 경우, 순서 바꾸기 / 리셋 자동 증가 기본 키를보십시오.
-
==============================
8.기능은 MySQL의 5.6에서 변경 되었기 때문에 업데이 트를 추가. MySQL은 5.6로서 당신은 이노와 간단한 ALTER 테이블을 사용할 수 있습니다 :
기능은 MySQL의 5.6에서 변경 되었기 때문에 업데이 트를 추가. MySQL은 5.6로서 당신은 이노와 간단한 ALTER 테이블을 사용할 수 있습니다 :
ALTER TABLE tablename AUTO_INCREMENT = 1;
워드 프로세서는이를 반영하기 위해 업데이트됩니다
http://dev.mysql.com/doc/refman/5.6/en/alter-table.html
테이블이 복사되지 않았는지 내도 테스트 쇼, 값은 간단하게 변경됩니다.
-
==============================
9.MySQL의 자동 증가 열을 다시 설정하는 방법에 주어진 좋은 옵션이 있습니다
MySQL의 자동 증가 열을 다시 설정하는 방법에 주어진 좋은 옵션이 있습니다
참고 ALTER TABLE tablename에의 AUTO_INCREMENT = 값; 이노 작동하지 않습니다
-
==============================
10.
ALTER TABLE news_feed DROP id ALTER TABLE news_feed ADD id BIGINT( 200 ) NOT NULL AUTO_INCREMENT FIRST ,ADD PRIMARY KEY (id)
내 스크립트의 일부에서 이것을 사용, id 필드가 떨어 뜨린 후 이전 설정으로 다시 추가, 데이터베이스 테이블 내의 모든 존재 필드가 새로운 자동 증가 값으로 채워집니다, InnoDB의이해야 또한 작동합니다.
테이블 내의 모든 필드를 회상되며 다른 ID를 가질 않습니다!.
-
==============================
11.또한이 같은 구문 TRUNCATE 테이블을 사용할 수 있습니다 : TRUNCATE TABLE의 테이블 _
또한이 같은 구문 TRUNCATE 테이블을 사용할 수 있습니다 : TRUNCATE TABLE의 테이블 _
조심! TRUNCATE TABLE은 your_table은 your_table 모든 것을 삭제합니다!
-
==============================
12.그것은 빈 테이블입니다 :
그것은 빈 테이블입니다 :
ALTER TABLE `table_name` AUTO_INCREMENT = 1;
데이터를 가지고 있지만 당신이 그것을 정돈 할 경우, 내가 사용이 추천 :
ALTER TABLE `table_name` DROP `auto_colmn`; ALTER TABLE `table_name` ADD `auto_colmn` INT( {many you want} ) NOT NULL AUTO_INCREMENT FIRST ,ADD PRIMARY KEY (`auto_colmn`);
-
==============================
13.여기 내 솔루션입니다,하지만 난 당신의 열 제약을가하거나 나쁜 영향을하거나하지 않습니다 심지어 작업하는 것처럼 다른 테이블에 외래 키로 연결되어있는 경우이 작업을 수행하기 위해 조언을하지 않습니다.
여기 내 솔루션입니다,하지만 난 당신의 열 제약을가하거나 나쁜 영향을하거나하지 않습니다 심지어 작업하는 것처럼 다른 테이블에 외래 키로 연결되어있는 경우이 작업을 수행하기 위해 조언을하지 않습니다.
ALTER TABLE tbl_name DROP COLUMN column_id
ALTER TABLE tbl_access ADD COLUMN `access_id` int(10) NOT NULL PRIMARY KEY AUTO_INCREMENT FIRST
이것은 잘 작동합니다!
-
==============================
14.MySQL의 5.6 작품 아래의 접근 속도의로 인해 온라인 DDL에 (주 알고리즘 = 인플레 이스)
MySQL의 5.6 작품 아래의 접근 속도의로 인해 온라인 DDL에 (주 알고리즘 = 인플레 이스)
테이블 변경 TABLENAME의 AUTO_INCREMENT = 1, 알고리즘 = 인플레 이스;
-
==============================
15.당신은 단순히 순서를 다시 테이블을자를 수
당신은 단순히 순서를 다시 테이블을자를 수
TRUNCATE TABLE TABLE_NAME
-
==============================
16.나는 1로 테이블과 세트 AUTO_INCREMENT를 변경하는 시도했지만 작동하지 않았다. 그럼 내가 원하는 이름으로 새 열을 생성하고 설정, 내가 증가 된 열 이름을 삭제합니다 해결 발병의 증가에 새 열 그.
나는 1로 테이블과 세트 AUTO_INCREMENT를 변경하는 시도했지만 작동하지 않았다. 그럼 내가 원하는 이름으로 새 열을 생성하고 설정, 내가 증가 된 열 이름을 삭제합니다 해결 발병의 증가에 새 열 그.
-
==============================
17.테이블의 자동 증가 카운터는 두 가지 방법으로 (재) 설정할 수 있습니다 :
테이블의 자동 증가 카운터는 두 가지 방법으로 (재) 설정할 수 있습니다 :
-
==============================
18.최신 더한 ID를 업데이트하려면
최신 더한 ID를 업데이트하려면
ALTER TABLE table_name AUTO_INCREMENT = (SELECT (id+1) id FROM table_name order by id desc limit 1);
-
==============================
19.ALTER TABLE tablename에의 AUTO_INCREMENT = 1
ALTER TABLE tablename에의 AUTO_INCREMENT = 1
-
==============================
20.내가 봤이 질문을 찾았지만 대답은 정말 만족 두 가지 기준을 찾고 있습니다 :
내가 봤이 질문을 찾았지만 대답은 정말 만족 두 가지 기준을 찾고 있습니다 :
내가 정확히 내가 여기에 원하는 것을 찾을 수 없습니다 때문에, 나는 여러 답변에서 답을 자갈길 여기에 그것을 공유했다.
참고로 몇 가지 :
이 같은 저장 프로 시저를 만들 :
DELIMITER // CREATE PROCEDURE reset_autoincrement(IN tablename varchar(200)) BEGIN SET @get_next_inc = CONCAT('SELECT @next_inc := max(id) + 1 FROM ',tablename,';'); PREPARE stmt FROM @get_next_inc; EXECUTE stmt; SELECT @next_inc AS result; DEALLOCATE PREPARE stmt; set @alter_statement = concat('ALTER TABLE ', tablename, ' AUTO_INCREMENT = ', @next_inc, ';'); PREPARE stmt FROM @alter_statement; EXECUTE stmt; DEALLOCATE PREPARE stmt; END // DELIMITER ;
그런 다음 실행합니다.
당신이 당신의 데이터베이스에 저장 프로 시저에서 볼 때 실행하기 전에, 다음과 같습니다.
내가 실행하면, 나는 단순히 저장 프로 시저를 눌러 실행 선택을 선택
참고 : 구분 기호 부분이 중요하다. 이 문제의 상단 선택한 답변에서 복사 및 붙여 넣기 따라서, 그들은 이런 이유로 작동하지 경향이있다.
내가 실행 한 후, 내가 저장 프로 시저를 볼 수
당신이 저장 프로 시저를 변경해야 할 경우 다시 실행을 선택, 저장 프로 시저를 삭제해야합니다.
이번에는 당신은 단순히 정상 MySQL의 쿼리를 사용할 수 있습니다.
call reset_autoincrement('products');
원래 내 자신의 SQL에서 https://simkimsia.com/library/sql-queries/#mysql-reset-autoinc에 메모를 조회하고 StackOverflow의 적응
-
==============================
21.
SET @num := 0; UPDATE your_table SET id = @num := (@num+1); ALTER TABLE your_table AUTO_INCREMENT =1;
-
==============================
22.실행이 쿼리
실행이 쿼리
ALTER TABLE tablename AUTO_INCREMENT = value;
또는 재설정 자동 증가를 위해이 쿼리
ALTER TABLE `tablename` CHANGE `id` `id` INT(10) UNSIGNED NOT NULL;
그리고 설정 자동 증가는이 쿼리 실행
ALTER TABLE `tablename` CHANGE `id` `id` INT(10) UNSIGNED NOT NULL AUTO_INCREMENT;
-
==============================
23.난 당신이 쿼리 브라우저로 이동하여 다음을 수행하는 것이 좋습니다 :
난 당신이 쿼리 브라우저로 이동하여 다음을 수행하는 것이 좋습니다 :
표에 새 행을 입력하면 자동 증가 하나를 다시 설정해야합니다.
나는 당신이 AUTO_INCREMENT 필드 값이 이미 존재하는 행을 추가하려고하면 무슨 일이 일어날 지 모른다.
이 도움말을 희망!
-
==============================
24.가장 좋은 방법은, AI와 함께 필드를 제거하고 인공 지능을 다시 추가 모든 테이블에 대한 작업
가장 좋은 방법은, AI와 함께 필드를 제거하고 인공 지능을 다시 추가 모든 테이블에 대한 작업
from https://stackoverflow.com/questions/8923114/how-to-reset-auto-increment-in-mysql by cc-by-sa and MIT license
'SQL' 카테고리의 다른 글
[SQL] BY 쿼리 최적화 그룹은 사용자 당 최신 행을 검색하기 (0) | 2020.03.07 |
---|---|
[SQL] NOT IN 절 내부에 NULL 값 (0) | 2020.03.07 |
[SQL] SQL 테이블에서 중복 값 찾기 (0) | 2020.03.07 |
[SQL] 측면과 PostgreSQL에서 하위 쿼리의 차이점은 무엇입니까? (0) | 2020.03.07 |
[SQL] 기존 컬럼에 ID를 추가 (0) | 2020.03.07 |