sql >> Databáze >  >> RDS >> Mysql

Chci znovu použít mezery smazaných řádků

Opravdu, neměl bys. Primární klíče by měly být čistě technické, nesmyslné hodnoty. Na jejich hodnotě a jednotvárnosti generace by vůbec nemělo záležet.

Navíc, protože se jedná o PK řádku, budete mít potenciálně desítky (nebo tisíce) dalších řádků v jiných tabulkách odkazujících na toto ID (cizí klíče), takže jeho změna v tabulce by nestačila:museli byste změnit to všude.

A je velká šance, že na toto ID odkazují i ​​jiné aplikace (například by mohlo být součástí adresy URL uložené v záložkách v prohlížeči) a změna jeho hodnoty by všechny tyto odkazy zneplatnila.

Nikdy byste neměli měnit primární klíč. Mělo by být neměnné, navždy.

EDIT:Špatně jsem si přečetl otázku. Ve skutečnosti chcete znovu použít staré ID. To je také špatný nápad. Stávající reference by odkazovaly na něco jiného, ​​než na co původně odkazovaly. To se stane, když změníte své telefonní číslo a je znovu použito někým jiným, kdo začne přijímat spoustu hovorů od lidí, kteří si stále myslí, že toto telefonní číslo je vaše. Velmi otravné. Chcete se této situaci vyhnout.




  1. Vložte aktuální datum/čas pomocí now() do pole pomocí MySQL/PHP

  2. Propojení programu c++ s Oracle

  3. 2 způsoby, jak přidat znak procenta k číslu v SQLite

  4. Přihlášení funguje pouze pro posledního uživatele v databázi