Met Unique Constraint kunt u de uniciteit van records in uw databasetabel afdwingen en de database-integriteit behouden. Hier leest u hoe u een unieke beperking uit de MySQL-tabel kunt verwijderen met de opdracht MySQL DROP INDEX. Het wordt ook gebruikt om de unieke sleutel in MySQL te verwijderen.
Wat is een unieke beperking in MySQL?
Unieke beperking voor een tabel is een combinatie van een of meer velden die elk record in de tabel op unieke wijze definiëren. Deze velden kunnen null-waarden bevatten zolang de combinatie van veldwaarden uniek is.
Bonus Lezen:DROP BUITENLANDSE KY CONSTRAINT
Unieke beperking in MySQL laten vallen
Hier zijn de stappen om unieke beperkingen in MySQL te verwijderen. We zullen de MySQL DROP INDEX-query gebruiken om de bestaande index uit een tabel te verwijderen.
Hier is de syntaxis van het MySQL DROP INDEX-commando
DROP INDEX constraint_name ON table_name
[algorithm_option | lock_option];
In de bovenstaande zoekopdracht, constraint_name is de naam van de beperking, en table_name is de naam van uw databasetabel.
Let op , of u nu DROP INDEX of DROP UNIQUE CONSTRAINT wilt, u moet de DROP INDEX-query gebruiken.
Bonus lezen:MySQL DROP DATABASE
U kunt ook 2 optionele argumenten opgeven – algorithm_option en lock_option.
algorithm_option kan een van de drie waarden hebben:standaard, inplace, copy. Afhankelijk van je argument, zal MySQL verschillende algoritmen gebruiken om unieke beperkingen te laten vallen.
De syntaxis is
ALGORITHM [=] {DEFAULT|INPLACE|COPY}
- standaard:dit heeft hetzelfde effect als het niet gebruiken van algorithm_option argument
- copy – De tabel waar u de beperking moet verwijderen, wordt gekopieerd en de index wordt verwijderd uit de kopieertabel. Gedurende deze tijd zijn gelijktijdige bewerkingen zoals INSERT en UPDATE niet toegestaan.
- inplace – In dit geval wordt de tabel zonder beperkingen op zijn plaats herbouwd. Hoewel deze optie gelijktijdige bewerkingen toestaat, plaatst het een metadatavergrendeling tijdens de uitvoering.
Afhankelijk van lock_option MySQL vergrendelt wel/niet de lees-/schrijftoegang tot uw tabellen terwijl de beperking wordt verwijderd. lock_option heeft de volgende syntaxis
LOCK [=] {DEFAULT|NONE|SHARED|EXCLUSIVE}
Er zijn 4 waarden nodig:
- standaard - het staat maximale gelijktijdigheid toe voor uw keuze van algoritme. het staat zowel gelijktijdige lees- als schrijfbewerkingen toe, indien ondersteund. Als dat niet het geval is, staat het alleen gelijktijdige leesbewerkingen toe. Als dat ook niet wordt ondersteund, dwingt het exclusieve toegang af.
- geen - indien ondersteund, kunt u gelijktijdig lezen en schrijven hebben. Anders geeft MySQL een foutmelding.
- gedeeld – als de gedeelde optie wordt ondersteund, kunt u gelijktijdige leesbewerkingen hebben, maar geen gelijktijdige schrijfbewerkingen.
- exclusief – deze optie dwingt exclusieve toegang af
Bonus lezen:MySQL DROP COLUMN
MySQL DROP UNIEKE BEPERKING voorbeeld
Stel dat u de volgende tabel heeft met een unieke beperking.
mysql> create table orders(order_id int primary key, order_date date, product varchar(255), sale int, constraint name unique (product) );
Hier is de SQL-query om de unieke beperking naam te verwijderen van tafel bestellingen .
mysql> DROP INDEX name ON orders;
Bonus lezen:MySQL DROP TABLE
MySQL DROP PRIMARY KEY Index
Aangezien de primaire sleutel ook een voorbeeld is van een unieke beperking op tabel, volgt hier de syntaxis om de primaire sleutelbeperking op tafelorders te laten vallen.
mysql> DROP INDEX `PRIMARY` ON orders;
In dit geval verwijzen we naar het primaire sleutelveld als `PRIMARY` in plaats van de veldnaam te gebruiken.
Ubiq maakt het gemakkelijk om gegevens binnen enkele minuten te visualiseren en in realtime dashboards te controleren. Probeer het vandaag nog!