Ho una tabella con una colonna autoincrementante. Devo impostare una delle righe su 1000 e non toccarla più, ma ora che l'ho impostata su 1000, l'incremento automatico continua a partire da 1001 e si rifiuta di iniziare a 1. C'è un modo per aggirare questo?Ripristina MySQL auto_increment quando esiste già un numero elevato?
risposta
Risposta semplice e breve: non è possibile farlo.
Se possibile, cosa accadrebbe se avvii l'incremento automatico a 1 e inserisci 1000 righe? L'ultimo non può essere inserito a causa della "chiave duplicata" - errore.
Se è necessario avere una voce predefinded, con un ID che non cambia mai ed è facile da ricordare, perché non si usa 0 per quello? Oppure, se hai davvero bisogno di usare 1000, qual è il problema con l'avvio delle altre colonne a 1001?
Non dovrebbe, ma non può. Vedi la mia risposta. –
questo è stato unjreal editing della mia risposta, ho scritto "can not" - e ora ho rolled quella modifica – oezi
Non è possibile:
Per modificare il valore del contatore AUTO_INCREMENT da usare per nuove righe, fare questo:
ALTER TABLE t2 AUTO_INCREMENT = valore;
Non è possibile reimpostare il contatore su un valore inferiore o uguale a qualsiasi valore di già utilizzato. Per MyISAM, se il valore è inferiore o uguale al valore massimo attualmente nella colonna AUTO_INCREMENT, il valore è ripristinato al massimo corrente più uno. Per InnoDB, se il valore corrente è inferiore a , il valore massimo corrente nella colonna non si verifica alcun errore e il valore della sequenza corrente non viene modificato.
È possibile utilizzare MS Access che puntano a MySQL come tabella esterna, ed è possibile modificare il valore del campo tabella di incremento automatico da MS Access tramite copia incolla da Excel (prima, è necessario organizzare la valore di incremento automatico in Excel).
Supponendo di avere nessun altro ID fila con 1000, è possibile inserire la riga alla parte inferiore della tabella, allora si può semplicemente utilizzare il comando UPDATE:
UPDATE table.column SET id = 1000 WHERE id = current_id;
Supponendo ID è la vostra colonna a incremento automatico . E current_id dovrebbe essere sostituito con l'id in cui è inserita la riga.
Si potrebbe utilizzare le seguenti istruzioni:
UPDATE tbl SET id=1000 WHERE id=current_id;
ALTER TABLE tbl AUTO_INCREMENT=1001;
- 1. Come inserire un numero elevato di righe in MySQL?
- 2. Qual è il limite di auto_increment (numero intero) in mysql
- 3. SQLite Problema quando si inserisce un numero elevato di record
- 4. MySQL trigger per generare un hash per un indice auto_increment
- 5. Concatena un numero elevato di file HDF5
- 6. Scala: utilizzo elevato dell'heap quando eseguito XML.loadFile su un numero elevato di file nell'ambito locale
- 7. Numero elevato di tabelle di dischi temporanei MySQL
- 8. Applicare gitignore su un repository esistente già rilevando un numero elevato di file
- 9. Lotto elimina un numero elevato di file
- 10. Spostamento di un numero elevato di file
- 11. Factor in modo programmatico un numero elevato
- 12. Ripristina senza perdere i file già impegnati
- 13. Mysql - Modifica una colonna per essere AUTO_INCREMENT
- 14. Mysql - Aggiungi auto_increment alla chiave primaria
- 15. Impossibile creare un file quando questo file esiste già
- 16. Rapido lettura di un numero elevato di file
- 17. Ripristina il campo MySQL sul valore predefinito
- 18. Problema con un numero elevato di indicatori sulla mappa
- 19. MySQL: Come aggiungere una colonna se non esiste già?
- 20. auto_increment per gruppo
- 21. Gestione di un numero elevato di ID in Solr
- 22. Associare un numero elevato di dati a una casella combinata?
- 23. Gestione di un numero elevato di variabili di post ASP.Net
- 24. Rake interrotto ... la tabella 'users' esiste già
- 25. parte epplus esiste già
- 26. FATAL ERROR "postmaster.pid" esiste già
- 27. Come è determinata la dimensione del passo auto_increment MySQL
- 28. Creare un file se non esiste già
- 29. Procedura di eliminazione che esiste già?
- 30. Scarica un numero elevato di file in background in iOS
Come su impostandolo a 0, invece? :) –
Se * poteste * far funzionare tutto ciò, cosa vi aspettereste che accada una volta che l'auto-incremento raggiungerà ancora 1000? –