Jak mogę zresetować auto-przyrost tabeli mysql do 1 w phpMyAdmin?


20

Wiem, że w MySQL w wierszu polecenia mogę zresetować pole automatycznego przyrostu tabeli do 1 za pomocą tego:

ALTER TABLE tablename AUTO_INCREMENT = 1

Jestem ciekawy, czy istnieje sposób, aby to zrobić z poziomu phpMyAdmin. Coś w rodzaju pola wyboru, aby zresetować automatyczny przyrost lub coś w tym stylu?

Nie chodzi o to, że coś jest nie tak z podejściem z linii poleceń. Jeszcze jedna z tych ciekawości, nad którymi ciągle myślę ... Z góry dziękuję!

Odpowiedzi:


19

phpmyadmin

Być może możesz po prostu wybrać kartę Operacje phpMyAdmin:

  • W phpMyAdmin kliknij tabelę, którą chcesz zresetować lub zmienić wartość AUTO_INCREMENT
  • Kliknij kartę Operacje
  • W polu Opcje tabeli znajdź pole auto_increment.
  • Wprowadź nową wartość początkową auto_increment
  • Kliknij przycisk Go w polu Opcje tabeli.

Ponieważ to jedno z najczęściej zadawanych pytań do phpmyadmin, możesz dowiedzieć się więcej na ten temat na tym blogu: http://trebleclick.blogspot.com/2009/01/mysql-set-auto-increment-in-phpmyadmin.html

Informacje dodatkowe

W przypadku pustej tabeli innym sposobem na zresetowanie atrybutu auto_increment jest uruchomienie

TRUNCATE TABLE mydb.tablename;

Nie uruchamiaj tego, jeśli masz w nim dane. Jeśli chcesz połączyć dane, to bądź moim gościem.

W phpmyadmin po prostu kliknij SQLkartę, wprowadź polecenie i uruchom je.

W przypadku niepustej tabeli możesz dostosować atrybut auto_increment do najwyższego istniejącego identyfikatora w przypadku, gdy wyższe wpisy zostały usunięte.

Najpierw zoptymalizuj tabelę

OPTIMIZE TABLE mydb.mytable;

Następnie zlokalizuj najwyższą wartość dla kolumny auto_increment (powiedz, że jest id)

SELECT MAX(id) maxid FROM mydb.mytable;

Załóżmy, że odpowiedź zwraca 27. Przejdź do zakładki Operacje i wprowadź 28.


+1 za obcinanie, upuszczam i odtwarzam.
mckenzm,

@mckenzm Pod maską TRUNCATE TABLE upuszcza i odtwarza ( dev.mysql.com/doc/refman/5.6/en/… )
RolandoMySQLDBA

@mckenzm Właśnie przeczytałem twój profil. 25 lat COBOL ??? Ty biedna udręczona dusza.
RolandoMySQLDBA

TBH to prawdopodobnie 13 x te same dwa lata ... i wiele z tego było proste, wbudowany SQL, CICS na poziomie poleceń, wywołania systemowe VMS ... Makra wstępnie przetworzone. Lego rzeczy.
mckenzm,

11

Jako uzupełnienie innych odpowiedzi wolę bardziej wizualne podejście:

  1. Kliknij tabelę, którą chcesz zmienić.

  2. Kliknij Operations:

wprowadź opis zdjęcia tutaj

  1. Zobacz „ Opcje tabeli ”:

wprowadź opis zdjęcia tutaj

Pamiętaj również, że:

–§–   Nie można zresetować licznika do wartości mniejszej lub równej aktualnie używanej wartości. Zarówno w przypadku InnoDB, jak i MyISAM, jeśli wartość jest mniejsza lub równa maksymalnej wartości obecnie w AUTO_INCREMENTkolumnie, wartość jest resetowana do bieżącej maksymalnej AUTO_INCREMENTwartości kolumny plus jeden.


1
Nadal używam phpMyAdmin 4.0.1-rc1. Myślę, że jest za stary, ponieważ nie mam opcji AUTO_INCREMENT na tej stronie.
Kar.ma

-2
SET @num := 0;
UPDATE tablename SET id = @num := (@num+1);
ALTER TABLE tablename AUTO_INCREMENT = 1;

2
A co ze wszystkimi powiązanymi danymi?
Colin 't Hart
Korzystając z naszej strony potwierdzasz, że przeczytałeś(-aś) i rozumiesz nasze zasady używania plików cookie i zasady ochrony prywatności.
Licensed under cc by-sa 3.0 with attribution required.