Kombinovaný primární klíč v MariaDB/MySQL: Víte, že více primárních klíčů na tabulce vám nezajistí unikátnost každého sloupce?

by Zdeněk Večeřa 0 Comments

Možná jste slyšeli, že primární klíč se často nastavuje na sloupec pojmenovaný jako „id“. Často ve spojení s datovým typem „int“ a „Auto Increment“, který zajistí automatické zvyšování hodnoty nového záznamu ve sloupci o +1.

A možná jste si mysleli, že když nastavíte ještě druhý primární klíč třeba nad sloupec „email“, tak že vám zajistí unikátnost také e-mailové adresy. Ale tak to není.

Pokud na jedné tabulce MariaDB/MySQL nastavíte více primárních klíčů, vznikne tzv. kombinovaný primární klíč. Bude se chovat stejně jako unikátní složený index. Kombinovaný primární klíč nad sloupci „actor_id“ a „actor_email“ totiž pouze zajišťuje, že kombinace těchto dvou sloupců musí být jedinečná, ale každý jednotlivý sloupec nemusí být sám o sobě jedinečný.

Takže jestli potřebujete unikátní sloupec „actor_email“, přidejte nad tento sloupec unikátní index (UNIQUE).

Leave a reply

Your email address will not be published.

You may use these HTML tags and attributes:

<a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong>

Tato stránka používá Akismet k omezení spamu. Podívejte se, jak vaše data z komentářů zpracováváme..