Autor Zpráva
Minotas
Profil *
Dobrý den,

dá se nějakým způsobem vypnout aby MySQL přeskakovalo hodnoty při zapnuté funkci autoincrement na určitém sloupci při smazání daného záznamu v tabulce?

Příklad:
jakákoliv naplněná tabulka má při zápisu nového záznamu autoincrement +1 tzn. mám např. řádek 421 a při smazání tohoto záznamu z tabulky bude poslední 420, ale při opětovném přidání záznamu se 421 vynechá a naskočí rovnou 422. Já potřebuji aby další záznam měl hodnotu 421.

Nechci rozpoutat flame proč to tak v MySQL je, to vím a je to dobře. Ale kdyby nebylo nutné to vyřešit, neptám se.

Díky
Kajman
Profil
Při mazání záznamu (pokud je poslední), můžete nastavit přes
alter table
chtěnou hodnoutu pro autoincrement.

Ale pro ostatní čtenáře: opravdu se to moc nedoporučuje...
Některé časteji řešené dotazy pro MySQL - FAQ » Recyklování primárních klíčů smazaných záznamů
Keeehi
Profil
Minotas:
Z dokumentace: "When you insert any other value into an AUTO_INCREMENT column, the column is set to that value and the sequence is reset so that the next automatically generated value follows sequentially from the largest column value."
Takže pokud víš, že jsi mazal*, můžeš příštímu záznamu natvrdo nastavit id 421, tím se AUTO_INCREMENT zresetuje a od dalších záznamů to bude běžet správně.

* Což tak trochu předpokládám jelikož se zdá že chceš editovat/mazat poslední, nějakým omylem přidaný, záznam který se ještě nestihl nikam propagovat.

Vaše odpověď

Mohlo by se hodit


Prosím používejte diakritiku a interpunkci.

Ochrana proti spamu. Napište prosím číslo dvě-sta čtyřicet-sedm:

0