Come posso ripristinare l'incremento automatico di una tabella mysql a 1 in phpMyAdmin?


20

So che in MySQL dalla riga di comando posso ripristinare il campo di autoincremento di una tabella a 1 con questo:

ALTER TABLE tablename AUTO_INCREMENT = 1

Sono curioso di sapere se esiste un modo per farlo dall'interno di phpMyAdmin. Qualcosa come una casella di controllo per ripristinare l'incremento automatico o qualcos'altro lungo quelle linee?

Non che ci sia qualcosa di sbagliato nell'approccio da riga di comando. Più una di quelle curiosità su cui continuo a pensare ... Grazie in anticipo!

Risposte:


19

phpmyadmin

Forse potresti semplicemente selezionare la scheda Operazioni phpMyAdmin:

  • In phpMyAdmin, fai clic sulla tabella che desideri ripristinare o modificare il valore AUTO_INCREMENT
  • Fare clic sulla scheda Operazioni
  • Nella casella Opzioni tabella trova il campo auto_increment.
  • Immettere il nuovo valore iniziale di auto_increment
  • Fare clic sul pulsante Vai per la casella Opzioni tabella.

Dal momento che questa è una delle domande più frequenti per phpmyadmin, puoi saperne di più in questo blog: http://trebleclick.blogspot.com/2009/01/mysql-set-auto-increment-in-phpmyadmin.html

Informazioni Supplementari

Per una tabella vuota , è necessario eseguire un altro modo per ripristinare l'attributo auto_increment

TRUNCATE TABLE mydb.tablename;

Non eseguirlo se sono presenti dati. Se vuoi rendere flessibili i dati, allora sii mio ospite.

In phpmyadmin, fai clic sulla SQLscheda, inserisci il comando ed eseguilo.

Per una tabella non vuota , potresti voler regolare l'attributo auto_increment sull'ID esistente più alto in uso nel caso in cui le voci più alte fossero eliminate.

Innanzitutto, ottimizza la tabella

OPTIMIZE TABLE mydb.mytable;

Quindi, individua il valore più alto per la colonna auto_increment (supponi che sia id)

SELECT MAX(id) maxid FROM mydb.mytable;

Supponiamo che la risposta restituisca 27. Vai alla scheda Operazioni e inserisci 28.


+1 per troncare, ho lasciato cadere e ricreato.
mckenzm,

@mckenzm Under the hood, TRUNCATE TABLE sta cadendo e ricreando ( dev.mysql.com/doc/refman/5.6/en/… )
RolandoMySQLDBA

@mckenzm Ho appena letto il tuo profilo. 25 anni di COBOL ??? Povera anima tormentata.
RolandoMySQLDBA

TBH probabilmente erano 13 x gli stessi due anni ... e molto era semplice, l'SQL incorporato, il CICS a livello di comando, il sistema VMS chiama ... Macro preelaborate. Roba Lego.
mckenzm,

11

Come supplemento alle altre risposte, preferirei un approccio più visivo:

  1. Fai clic sulla tabella che desideri modificare.

  2. Clicca Operations:

inserisci qui la descrizione dell'immagine

  1. Cerca in " Opzioni tabella ":

inserisci qui la descrizione dell'immagine

Si noti inoltre che:

–§–   Non è possibile ripristinare il contatore su un valore inferiore o uguale al valore attualmente in uso. Per InnoDB e MyISAM, se il valore è inferiore o uguale al valore massimo attualmente nella AUTO_INCREMENTcolonna, il valore viene reimpostato sul AUTO_INCREMENTvalore della colonna massima corrente più uno.


1
Uso ancora phpMyAdmin 4.0.1-rc1. Immagino sia troppo vecchio, dato che non ho l'opzione AUTO_INCREMENT su quella pagina.
Kar.ma,

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

2
E che dire di tutti i dati correlati?
Colin 't Hart,
Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.