Mysql
 sql >> Baza danych >  >> RDS >> Mysql

Jak poradzić sobie z fragmentacją kolumny auto_increment ID w MySQL?

Zmiana numeracji spowoduje zamieszanie. Istniejące raporty będą odnosić się do rekordu 99, ale jeśli system zmieni numerację, może zmienić numerację tego rekordu na 98, teraz wszystkie raporty (i wypełnione interfejsy użytkownika) są błędne. Po przydzieleniu unikalnego identyfikatora musi on pozostać niezmieniony.

Używanie pól identyfikatora do czegokolwiek innego niż proste unikatowe numerowanie będzie problematyczne. Wymóg „braku luk” jest po prostu niezgodny z wymogiem możliwości usunięcia. Być może możesz oznaczyć rekordy jako usunięte, zamiast je usuwać. Wtedy naprawdę nie ma luk. Załóżmy, że produkujesz faktury numerowane:zamiast usuwać fakturę o zerowej wartości z tym numerem, będziesz mieć anulowaną fakturę.



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Zmiana hasła root MySQL

  2. Niedozwolona mieszanka zestawień (utf8_unicode_ci,IMPLICIT) i (utf8_general_ci,IMPLICIT) dla operacji '='

  3. MySQL — pobierz numer wiersza po wybraniu

  4. Błąd MYSQLi:użytkownik ma już więcej niż „max_user_connections” aktywnych połączeń

  5. MySQL — wyjaśnienie kodowania i sortowania zestawu znaków bazy danych