27/1/2020

MySQL Automatisch nummeren wijzigen (AUTO_INCREMENT)

Filed under: — cybrarian @ 1:06 pm

Een databank mijndata heeft tabel mijntabel met een veld id, waarvoor de eigenschap AUTO_INCREMENT gezet is.

Elke keer er een record bijgemaakt wordt, verhoogt de waarde met 1, en standaard begint die waarde bij 1.

Als je het laatste record verwijdert, bv dat met id 3, zal een nieuw gemaakt record waarde 4 krijgen (niet waarde 3!).

Aan de opeenvolging van deze record id’s kan je bv zien dat er records verwijderd zijn. (tenzij…)

Als het om één of andere reden toch nodig is om een verwijderd record te vervangen door één met hetzelfde nummer als reeds gebruikt, kan je hetvolgende doen:
– verwijder alle records vanaf 3; hier dus 3 en 4 (als je er zeker van bent dat het record id nergens andere gebruikt is!).
– wijzig de AUTO_INCREMENT teller die wordt bijgehouden op tabelniveau.

ALTER TABLE mijndata AUTO_INCREMENT=3

Je kan het ook automatisch laten bepalen door de databank zelf:
ALTER TABLE mijndata AUTO_INCREMENT=1
De databank zal dan het eerstvolgende vrije nummer nemen, in dit geval 3.

Met phpMyAdmin:
Selecteer de database tabel, en kies tab “Operations”. Daar zie je onder “Table Options” de wijzigbare AUTO_INCREMENT waarde staan. Denk eraan dat hier de volgende toe te kennen waarde staat.

De waarde die de database bijhoudt om het volgende recordnummer te maken kan je zien in de extra informatie over de tabel in phpMyAdmin “Structure”, “Information”.
Daar vind je de volgende waarde bewaard als “next autoindex”.

Op de commandolijn kan je “show” gebruiken:
SHOW CREATE TABLE mijntabel;
In dat antwoord zie je “AUTO_INCREMENT=4”.

Powered by WordPress