sql >> Databáze >  >> RDS >> Mysql

MySQL – Udělejte z páru jedinečných hodnot

Říká se tomu složený klíč.

Pokud chcete změnit svůj skutečný PK na složený, použijte

Alter table <your table> drop PRIMARY KEY;
Alter table <your table> drop COLUMN <your autoincremented column>;

Alter table <your table> add [constraint <constraint name>] PRIMARY KEY (<col1>, <col2>);

Můžete také přidat jedinečné omezení (vaše PK bude stejná a jedinečné páry... budou muset být jedinečné).

alter table <your table> add [constraint <constraint name>] unique index(<col1>, <col2>);

Osobně bych doporučil to druhé řešení (jednoduché PK + jedinečné omezení), ale to je jen osobní úhel pohledu. Můžete vyhledat argumenty pro a proti složeným klíčům.

Část mezi [] jsou volitelné.

UPRAVIT

Pokud to chcete udělat v příkazu create table

Pro kompozitní pk

CREATE TABLE Test(
    id1 int NOT NULL, 
    id2 int NOT NULL,
    id3 int NOT NULL,
    PRIMARY KEY (id1, id2)
);

Pro jedinečný index

CREATE TABLE Test1(
    id1 int NOT NULL AUTO_INCREMENT, 
    id2 int NOT NULL,
    id3 int NOT NULL,
    PRIMARY KEY (id1),
    UNIQUE KEY (id2, id3)
);


  1. Je možné smazat vše za 'mezerou' v poli MySQL?

  2. Převod číslic/čísel ve slovech pro měnu INR (indické rupie) v Oracle PL/SQL

  3. Zřetězení řetězce a ID primárního klíče při vkládání

  4. získat sledující twitter jako pomocí MySQL