Unique Constraint vám umožňuje vynutit jedinečnost záznamů ve vaší databázové tabulce a udržovat integritu databáze. Zde je návod, jak zrušit jedinečné omezení z tabulky MySQL pomocí příkazu MySQL DROP INDEX. Používá se také k odstranění jedinečného klíče v MySQL.
Co je jedinečné omezení v MySQL?
Jedinečné omezení pro tabulku je kombinace jednoho nebo více polí, která jednoznačně definují každý záznam v tabulce. Tato pole mohou obsahovat hodnoty null, pokud je kombinace hodnot polí jedinečná.
Bonusové čtení:DROP FOREIGN KY CONSTRAINT
Jak zrušit jedinečné omezení v MySQL
Zde jsou kroky k odstranění jedinečného omezení v MySQL. K odstranění existujícího indexu z tabulky použijeme dotaz MySQL DROP INDEX.
Zde je syntaxe příkazu MySQL DROP INDEX
DROP INDEX constraint_name ON table_name
[algorithm_option | lock_option];
Ve výše uvedeném dotazu constraint_name je název omezení a název_tabulky je název vaší databázové tabulky.
Poznámka , ať už chcete DROP INDEX nebo DROP UNIQUE CONSTRAINT, musíte použít dotaz DROP INDEX.
Bonusové čtení:MySQL DROP DATABASE
Můžete také zadat 2 volitelné argumenty – algorithm_option a lock_option.
algorithm_option může mít jednu ze 3 hodnot – default, inplace, copy. V závislosti na vašem argumentu použije MySQL různé algoritmy k odstranění jedinečného omezení.
Jeho syntaxe je
ALGORITHM [=] {DEFAULT|INPLACE|COPY}
- výchozí – Má to stejný účinek, jako když nepoužíváte algorithm_option argument
- kopírovat – Tabulka, kde potřebujete odstranit omezení, bude zkopírována a index bude odstraněn z kopírovací tabulky. Během této doby nejsou povoleny souběžné operace jako INSERT a UPDATE.
- inplace – V tomto případě je tabulka přestavěna na místě bez omezení. Ačkoli tato možnost umožňuje souběžné operace, během provádění vloží zámek metadat.
V závislosti na lock_option MySQL zamkne/nezamkne přístup pro čtení/zápis do vašich tabulek, zatímco bude omezení odstraněno. lock_option má následující syntaxi
LOCK [=] {DEFAULT|NONE|SHARED|EXCLUSIVE}
Vyžaduje 4 hodnoty:
- výchozí – umožňuje maximální souběžnost pro váš výběr algoritmu. umožňuje souběžné čtení i zápis, pokud je podporováno. Pokud ne, umožňuje pouze souběžné čtení. Pokud ani to není podporováno, vynucuje si výhradní přístup.
- žádné – pokud je podporováno, můžete mít souběžné čtení a zápis. V opačném případě MySQL zobrazí chybu.
- sdílené – pokud je podporována možnost sdílení, můžete mít souběžné čtení, ale nikoli souběžné zápisy.
- exkluzivní – tato možnost vynucuje výhradní přístup
Bonusové čtení:SLOUPEC DROP MySQL
Příklad MySQL DROP UNIQUE CONSTRAINT
Řekněme, že máte následující tabulku s jedinečným omezením.
mysql> create table orders(order_id int primary key, order_date date, product varchar(255), sale int, constraint name unique (product) );
Zde je dotaz SQL pro zrušení jedinečného omezení name z tabulky objednávky .
mysql> DROP INDEX name ON orders;
Bonusové čtení:MySQL DROP TABLE
MySQL DROP PRIMARY KEY Index
Protože primární klíč je také příkladem jedinečného omezení tabulky, zde je syntaxe pro zrušení omezení primárního klíče u objednávek tabulek.
mysql> DROP INDEX `PRIMARY` ON orders;
V tomto případě označujeme pole primárního klíče jako „PRIMARY“ namísto názvu pole.
Ubiq usnadňuje vizualizaci dat během několika minut a sledování na řídicích panelech v reálném čase. Vyzkoušejte to ještě dnes!