Primaire sleutels (MySQL): verschil tussen versies

Uit De Vliegende Brigade
Naar navigatie springen Naar zoeken springen
Regel 1: Regel 1:
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.
+
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 ==
 
== Nieuwe pk-kolom toevoegen ==

Versie van 14 jun 2017 15:06

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