sql >> Databasteknik >  >> RDS >> Mysql

MySQL SLÄPP UNIK BEGRÄNSNING

Unique Constraint låter dig framtvinga unika poster i din databastabell och upprätthålla databasens integritet. Så här släpper du unika restriktioner från MySQL-tabellen med kommandot MySQL DROP INDEX. Den används också för att ta bort unik nyckel i MySQL.

Vad är Unique Constraint i MySQL?

Unik begränsning för en tabell är en kombination av ett eller flera fält som unikt definierar varje post i tabellen. Dessa fält kan innehålla nollvärden så länge kombinationen av fältvärden är unik.

Bonus Läs:SLUTA UTLÄNDLIG KY BEGRÄNSNING

Hur man släpper Unique Constraint i MySQL

Här är stegen för att släppa unika begränsningar i MySQL. Vi kommer att använda MySQL DROP INDEX-frågan för att ta bort befintligt index från en tabell.

Här är syntaxen för MySQL DROP INDEX-kommandot

DROP INDEX constraint_name ON table_name
[algorithm_option | lock_option];

I ovanstående fråga, constraint_name är namnet på begränsningen och tabellnamn är ditt databastabellnamn.

Obs , oavsett om du vill SLIPPA INDEX eller SLAPPA UNIK BEGRÄNSNING, måste du använda DROP INDEX-frågan.

Bonus Läs:MySQL DROP DATABAS

Du kan också tillhandahålla två valfria argument – ​​algorithm_option och lock_option.

algorithm_option kan ha något av tre värden – standard, inplace, copy. Beroende på ditt argument kommer MySQL att använda olika algoritmer för att släppa unika begränsningar.

Dess syntax är

ALGORITHM [=] {DEFAULT|INPLACE|COPY}
  • standard – detta har samma effekt som att inte använda algorithm_option argument
  • kopia – Tabellen där du behöver ta bort begränsning kommer att kopieras och indexet kommer att tas bort från kopieringstabellen. Under denna tid är samtidiga operationer som INSERT och UPDATE inte tillåtna.
  • på plats – I det här fallet byggs tabellen om på plats utan begränsningar. Även om det här alternativet tillåter samtidiga operationer, sätter det ett metadatalås under körning.

Beroende på lock_option MySQL låser/låser inte läs-/skrivåtkomst till dina tabeller medan begränsningen tas bort. lock_option har följande syntax

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

Det tar fyra värden:

  • standard – det tillåter maximal samtidighet för ditt val av algoritm. det tillåter både samtidiga läsningar och skrivningar om det stöds. Om inte tillåter den endast samtidiga läsningar. Om det inte heller stöds, upprätthåller det exklusiv åtkomst.
  • ingen – om det stöds kan du ha samtidiga läsningar och skrivningar. Annars ger MySQL ett fel.
  • delad – om delat alternativ stöds kan du ha samtidiga läsningar, men inte samtidiga skrivningar.
  • exklusivt – det här alternativet tvingar fram exklusiv åtkomst

Bonus Läs:MySQL DROP COLUMN

Exempel på MySQL DROP UNIQUE CONSTRAINT

Låt oss säga att du har följande tabell med unika begränsningar.

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

Här är SQL-frågan för att släppa den unika begränsningen namn från bordsbeställningar .

mysql> DROP INDEX name ON orders;

Bonus Läs:MySQL DROP TABLE

MySQL DROP PRIMARY KEY Index

Eftersom primärnyckel också är ett exempel på unik begränsning på tabell, här är syntaxen för att släppa primärnyckelbegränsning på tabellorder.

mysql> DROP INDEX `PRIMARY` ON orders;

I det här fallet hänvisar vi till det primära nyckelfältet som 'PRIMÄR' istället med fältnamnet.

Ubiq gör det enkelt att visualisera data på några minuter och övervaka i realtidsinstrumentpaneler. Prova det idag!

  1. Jämför Amazon RDS Point-in-Time Recovery med ClusterControl

  2. Finns det något sätt att få radnumret i Mysql som rownumret i oracle

  3. Inloggning misslyckades för användaren 'DOMAIN\MACHINENAME$'

  4. Oracle:Fulltextsökning med villkor