sql >> Database teknologi >  >> RDS >> Mysql

MySQL DROP UNIK BEGRÆNSNING

Unique Constraint giver dig mulighed for at håndhæve unikke poster i din databasetabel og bevare databasens integritet. Her er, hvordan du slipper unik begrænsning fra MySQL-tabellen ved hjælp af MySQL DROP INDEX-kommandoen. Det bruges også til at fjerne unikke nøgler i MySQL.

Hvad er Unique Constraint i MySQL?

Unik begrænsning for en tabel er en kombination af et eller flere felter, der entydigt definerer hver post i tabellen. Disse felter kan indeholde nulværdier, så længe kombinationen af ​​feltværdier er unik.

Bonus Læs:DROP FOREIGN KY CONSTRAINT

Sådan dropper du Unique Constraint i MySQL

Her er trinene til at slippe unik begrænsning i MySQL. Vi vil bruge MySQL DROP INDEX-forespørgsel til at fjerne eksisterende indeks fra en tabel.

Her er syntaksen for MySQL DROP INDEX-kommandoen

DROP INDEX constraint_name ON table_name
[algorithm_option | lock_option];

I ovenstående forespørgsel, constraint_name er navnet på begrænsningen og tabelnavn er dit databasetabelnavn.

Bemærk venligst , uanset om du vil DROP INDEX eller DROP UNIQUE CONSTRAINT, skal du bruge DROP INDEX-forespørgsel.

Bonus Læs:MySQL DROP DATABASE

Du kan også angive 2 valgfrie argumenter – algorithm_option og lock_option.

algorithm_option kan have en af ​​3 værdier - standard, inplace, copy. Afhængigt af dit argument vil MySQL bruge forskellige algoritmer til at slippe unikke begrænsninger.

Dens syntaks er

ALGORITHM [=] {DEFAULT|INPLACE|COPY}
  • standard – Dette har samme effekt som ikke at bruge algorithm_option argument
  • kopi – Tabellen, hvor du skal slette begrænsning, vil blive kopieret, og indekset slettes fra kopitabellen. I dette tidsrum er samtidige handlinger såsom INSERT og UPDATE ikke tilladt.
  • inplace – I dette tilfælde genopbygges tabellen på plads uden begrænsninger. Selvom denne indstilling tillader samtidige handlinger, sætter den en metadatalås under udførelsen.

Afhængigt af lock_option MySQL låser/låser ikke læse-/skriveadgang til dine tabeller, mens begrænsningen slettes. lock_option har følgende syntaks

LOCK [=] {DEFAULT|NONE|SHARED|EXCLUSIVE}

Det kræver 4 værdier:

  • standard – det tillader maksimal samtidighed for dit valg af algoritme. det tillader både samtidige læsninger og skrivninger, hvis det understøttes. Hvis ikke, tillader den kun samtidige læsninger. Hvis det heller ikke understøttes, gennemtvinger det eksklusiv adgang.
  • ingen – hvis det understøttes, kan du læse og skrive samtidig. Ellers giver MySQL en fejl.
  • delt – hvis delt mulighed er understøttet, kan du have samtidige læsninger, men ikke samtidige skrivninger.
  • eksklusiv – denne mulighed gennemtvinger eksklusiv adgang

Bonus Læs:MySQL DROP COLUMN

Eksempel på MySQL DROP UNIQUE CONSTRAINT

Lad os sige, at du har følgende tabel med unik begrænsning.

mysql> create table orders(order_id int primary key,
     order_date date,
     product varchar(255),
     sale int,
     constraint name unique (product)
     );

Her er SQL-forespørgslen for at slippe unik begrænsning navn fra tabel ordrer .

mysql> DROP INDEX name ON orders;

Bonus Læs:MySQL DROP TABEL

MySQL DROP PRIMÆR NØGLE-indeks

Da primærnøgle også er et eksempel på unik begrænsning på tabel, er her syntaksen til at droppe primærnøglebegrænsning på tabelordrer.

mysql> DROP INDEX `PRIMARY` ON orders;

I dette tilfælde henviser vi til det primære nøglefelt som 'PRIMARY' i stedet for ved brug af feltnavn.

Ubiq gør det nemt at visualisere data på få minutter og overvåge i dashboards i realtid. Prøv det i dag!

  1. Sådan opretter du Stored Procedure i MySQL

  2. Brug af en primær nøgle med et WithoutRowID

  3. Opdater en MySQL-tabel med værdier fra en anden

  4. Hvordan implementerer man batchhentning med Fluent NHibernate, når man arbejder med Oracle?