Primaire sleutels (MySQL)

Uit De Vliegende Brigade
Ga naar: navigatie, zoeken

In MySQL kun je een tabel pas behoorlijk manipuleren als-ie een primaire sleutel of primary key heeft. Daarnaast heeft MySQL Workbench een bug waardoor-ie zich soms verslikt in tabellen zonder primaire slutel

Daarnaast wil ik soms een kolom met 'volgnummers' van records toevoegen aan een bestaande tabel, omdat MySQL van zichzelf geen betrouwbare nummering van records kent.

Nieuwe pk-kolom toevoegen

Gelukkig kun je primaire sleutels gemakkelijk toevoegen én gelijk invullen:

ALTER TABLE tbl_tabelnaam ADD pk INT PRIMARY KEY AUTO_INCREMENT;

Als zo'n pk geen 'echt' veld, maar puur is toegevoegd om als sleutel te dienen, noem ik 'm pk.

Bestaande kolom pk maken

alter table tbl_main_tool add primary key (pk);

Composite primary key

Fluitje van een cent:

Bv.:

CREATE TABLE INFO (
    t1ID INT,
    t2ID INT,
    PRIMARY KEY (t1ID, t2ID)
)

of

alter table brush_tool
add primary key (tool_id, sku);

Bronnen