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

jak ponownie wykorzystać usunięte klucze podstawowe w mysql?

Używając:

ALTER TABLE [your table name here] AUTO_INCREMENT = 1

... zresetuje wartość auto_increment na następną w oparciu o najwyższą istniejącą wartość istniejącą w tabeli. Oznacza to, że nie można go używać do korygowania luk o więcej niż jeden.

Jedynym powodem, aby to zrobić, byłyby te kosmetyczne — baza danych nie dba o to, czy rekordy są sekwencyjne, a jedynie, że są ze sobą konsekwentnie powiązane. Ze względu na bazę danych nie ma potrzeby „poprawiania” wartości.

Jeśli wyświetlasz id wartości dla użytkownika, dlatego też chcesz, aby zawsze były sekwencyjne, zalecam dodanie klucza zastępczego. Użyj klucza zastępczego do wyświetlenia użytkownikowi, aby wartości mogły być ponownie uporządkowane w razie potrzeby, ale w inny sposób nie ma to wpływu na integralność referencyjną. Kluczem zastępczym w tym przypadku byłaby kolumna liczb całkowitych.



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Wybierz datę z mojej bazy danych bez sekund za pomocą PHP MySql

  2. wywołaj zewnętrzny skrypt z wyzwalaczem mySQL WHITOUT sys_exec na ubuntu ARMHF

  3. Jak wyświetlić wiele skumulowanych kolumn dla każdego zakresu dat na skumulowanym pasku?

  4. Jak zainstalować adapter Rails MySQL?

  5. ORDER BY data z datami przeszłymi po datach nadchodzących