sql >> Databasteknik >  >> RDS >> Database

Hur tar man bort en unik begränsning i SQL?

Problem:

Du vill ta bort en unik begränsning från kolumnen/kolumnerna i en tabell i en databas.

Exempel:

Vi skulle vilja ta bort den unika begränsningen i tabellen product från kolumnen name . Uttalandet nedan visar hur man gör.

Lösning

ALTER TABLE product 
DROP CONSTRAINT UQ_product_name

I det här exemplet ändras tabellprodukten genom att använda ALTER TABLE klausul. Efter denna sats anger du namnet på tabellen (i vårt exempel:product ) och satsen DROP CONSTRAINT med namnet på den unika begränsning du vill ta bort.

Du kan hitta namnet på begränsningen i metadata i din databas. Varje databasmotor har en annan metod för att namnge begränsningar. I SQL Server kan du kontrollera namnet på begränsningen genom att välja data från sys.key_constraints tabell i en given databas. I PostgreSQL, välj conname-kolumnen från pg_constraint tabell. Oracle-servern innehåller dessa data i user_constraints tabell, och MySQL tillåter att man hämtar namn från kolumnen CONSTRAINT_NAME i information_schema.TABLE_CONSTRAINTS .


  1. MySQL:Felkod:1118 Radstorleken är för stor (> 8126). Ändra vissa kolumner till TEXT eller BLOB

  2. operation inte tillåten när objektet är stängt när mer avancerad fråga körs

  3. PHP PDO vs normal mysql_connect

  4. Hur CHAR() fungerar i MariaDB