MySQL :: 1.7.3.1 Omezení PRIMARY KEY a UNIQUE indexu

1.7.3.1 Omezení PRIMÁRNÍHO KLÍČE a UNIKÁTNÍHO indexu

Obvykle dochází k chybám u příkazů změny dat (například INSERT nebo UPDATE), které by porušovaly omezení primárního klíče, jedinečného klíče nebo cizího klíče. Pokud používáte transakční úložný stroj, například InnoDB, MySQL automaticky vrátí příkaz zpět. Pokud používáte netransakční úložný engine, MySQL zastaví zpracování příkazu u řádku, u kterého došlo k chybě, a všechny zbývající řádky ponechá nezpracované.

MySQL podporuje klíčové slovo IGNORE pro INSERTUPDATE atd. Pokud jej použijete, MySQL bude ignorovat porušení primárního klíče nebo jedinečného klíče a bude pokračovat ve zpracování dalším řádkem. Viz kapitola pro příkaz, který používáte (kapitola 13.2.6, „Příkaz INSERT“, kapitola 13.2.13, „Příkaz UPDATE“, a tak dále).

Informace o počtu skutečně vložených nebo aktualizovaných řádků můžete získat pomocí funkce mysql_info() C API. Můžete také použít příkaz SHOW WARNINGS. Viz mysql_info() a část 13.7.7.42, „Příkaz SHOW WARNINGS“.

InnoDB a NDB tabulky podporují cizí klíče. Viz kapitola 1.7.3.2, „Omezení FOREIGN KEY“.