Mam tabelę z identyfikatorem, ten identyfikator to automatyczny przyrost i klucz podstawowy, przy pierwszym wprowadzeniu do tej tabeli identyfikator zaczyna się od 0, ale po usunięciu wszystkich wartości z tej tabeli i wstawione ponownie, identyfikator nie zaczyna się od 0, ale zaczyna się od ostatniej wartości posiadanej przez ID, co się nie zgadza? Czy mogę zresetować wartość do 0?Automatyczna inkrementacja identyfikatora mysql nie rozpoczyna się od 0
Odpowiedz
Można też obciąć tabelę korzystając
TRUNCATE `table`
Obetnij będzie usunąć wszystkie dane w tabeli. Zauważ, że użycie TRUNCATE
nie uruchomi żadnych wyzwalaczy DELETE, takich jak DELETE
.
Albo można wyzerować licznik za pomocą
ALTER TABLE `table` AUTO_INCREMENT = 1
Jest jednak oczekiwane zachowanie. Nie rób tego ostatniego, chyba że stół jest naprawdę pusty.
dziękuje ci – LinCR
Usunięcie wszystkich elementów w tabeli nie wpływa na klucz podstawowy. Klucz podstawowy nadal będzie automatycznie zwiększał swoją ostatnią wartość.
Jeśli chcesz zresetować klucz podstawowy, można spróbować obciąć tabelę:
TRUNCATE TABLE yourtable;
ta usuwa wszystkie elementy z yourtable. To, czy resetuje klucz podstawowy, zależy od bazy danych. Z Mysql powinien działać, ponieważ Mysql usuwa i odtwarza tabelę na TRUNCATE.
mam cię, dziękuję – LinCR
Aby wstawić klucz podstawowy o wartości 0, wykonać najpierw następującą prośbę:
SET SQL_MODE = "NO_AUTO_VALUE_ON_ZERO";
- 1. Automatyczna inkrementacja zmiennej w pętli while
- 2. Automatyczna inkrementacja Derby i Eclipselink UnitOfWork
- 3. Automatyczna inkrementacja podstawowa pozostawiając przerwy w zliczaniu
- 4. ob_get_level() rozpoczyna się od poziomu 1
- 5. Kompilacja rozpoczyna się od wykonania testu jednostki
- 6. RegEx Rozpoczyna się od [i kończąc na]
- 7. Automatyczna inkrementacja wartości w Django w stosunku do poprzedniego
- 8. Automatyczna inkrementacja kolumny innej niż tożsamość w serwerze sql
- 9. Usługa rozruchu Androida nigdy się nie rozpoczyna
- 10. Ustal, czy ciąg rozpoczyna się literami od A do I
- 11. KSH sprawdź, czy ciąg rozpoczyna się od podłańcucha
- 12. JavaScript nie czyta elementów tablicy zaczynających się od 0
- 13. Błąd mapy Google? Oś nie zaczynają się od 0
- 14. Inkrementacja chara
- 15. Generowanie losowej liczby całkowitej w zakresie, który nie rozpoczyna się od zera
- 16. JavaScript Data Indeks miesiąca obiektu zaczyna się od 0
- 17. Nazywanie kolumny identyfikatora MYSQL
- 18. (println (iterate inc 0)): dlaczego to nawet rozpoczyna drukowanie?
- 19. . Kontynuacja rozpoczyna się przed zakończeniem zadania
- 20. Tabela MySql bez identyfikatora sekwencyjnego
- 21. Odwołując się do identyfikatora artefaktu słoika zależności użytkownika od persistence.xml
- 22. Nieautomatyczna inkrementacja kolumny "Identyfikator" ActiveRecord?
- 23. wyświetla tablice mysql zaczynające się od prefiksu?
- 24. Myślenie sfinksa nie rozpoczyna się - "Nie udało się uruchomić demona wyszukiwania"
- 25. MongoDB nie jest szybszy od MySQL?
- 26. Jak uruchomić Dropzone processQueue(), gdy programowanie nie rozpoczyna się programowo?
- 27. Spring JdbcTemplate Nie można uzyskać wstawienia identyfikatora z MySQL
- 28. Rozpoczyna się. . . koniec, gdy oznacza "blok"?
- 29. Dlaczego rozpoczyna się linia "^" i koniec wiersza "$"?
- 30. Auto inkrementacja o 1 w MySQL przy użyciu clearDB
Nic nie jest źle. To jest oczekiwane zachowanie. Czy licznik kilometrów twojego samochodu zaczyna się od 0 za każdym razem, gdy jedziesz? –
i co mogę zrobić, wstawiłem ponad 300 razy do moich stołów, kiedy zobaczyłem pracę domową nauczycielowi, nie jest dobrze pokazać mu, że klienci zaczynają od 301, prawda? – LinCR
Jeśli wstawiłeś wstawki ze skryptu, możesz upuścić tabelę, a następnie ponownie uruchomić skrypt. Jeśli wstawki były ręczne, nie chcesz ponownie wstawiać, prawda ?. W każdym razie masz 300 klientów tymczasowych/testowych, które usunąłeś. Gdybym był twoim nauczycielem, nie stanowiłoby to problemu. –