Auto-increment-velden (MySQL)

Uit De Vliegende Brigade
Naar navigatie springen Naar zoeken springen
The printable version is no longer supported and may have rendering errors. Please update your browser bookmarks and please use the default browser print function instead.

Auti-increment-velden (AI-velden) zijn velden die automatisch doortellen bij nieuwe records. Ze worden oa. gebruikt als primary keys. Voorbeeld: De primaire sleutel van de WordPress-tabel posts is een AI-veld:

  • Bij het aanmaken van een nieuw record, hoef je AI-velden doorgaans niet van een waarde te voorzien, dat gebeurt automatisch
  • Bestaande records met een AI-veld kunnen gewoon verwijderd worden. Maw.: Er kunnen gaten ontstaan in tabellen met een AI-veld
  • Ik geloof dat je maar één AI-veld per tabel mag hebben

Je kunt de waarde van het AI-veld overrulen. Dit kan zelfs met een lagere waarde zijn dan op dat moment verwacht zou worden. De enige voorwaarde: De waarde mag nog niet bestaan. Voorbeeld:

insert into 
   wp_posts(ID)
values
   (70005);

insert into 
   wp_posts(ID)
values
   (70004);

SELECT * FROM wp_posts limit 65000,200;

Als ik deze routine een tweede keer executeer, krijg ik een foutmelding dat de waarde voor ID niet uniek is:

10:22:19   insert into wp_posts(ID) values  (70005)	Error Code: 1062. Duplicate entry '70005' for key 'PRIMARY'	0,062 sec