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

MySQL DROP UNIQUE CONSTRAINT

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!

  1. MySQL vrací pouze jeden řádek

  2. ZOBRAZIT VŠE Data mezi dvěma daty; pokud pro konkrétní datum neexistuje žádný řádek, zobrazte ve všech sloupcích nulu

  3. Další informace o zřetězení v SQL s příklady

  4. Jak mohu uvést VŠECHNY granty, které uživatel obdržel?