Problem:
Du vill ta bort en främmande nyckel från en tabell i en databas.
Exempel:
Vi vill ta bort den främmande nyckeln som heter fk_student_city_id
från tabellen student
.
Lösning 1 (ny tabell):
ALTER TABLE student DROP CONSTRAINT fk_student_city_id;
Diskussion:
För att ta bort en främmande nyckel från en tabell, använd ALTER TABLE
sats med namnet på tabellen (i vårt exempel, student
) följt av satsen DROP CONSTRAINT
med namnet på den främmande nyckelbegränsningen. I vårt exempel är namnet på denna begränsning fk_student_city_id
.
Om begränsningen för den främmande nyckeln genererades av databasen, kan du hitta detta namn i databasen. Varje databasserver har dock olika sätt att namnge begränsningar. I SQL Server kan du kontrollera det genom att välja data från sys.key_constraints
i den givna databasen. I PostgreSQL väljer du conname
kolumnen från pg_constraint
tabell. Oracle lagrar denna data i tabellen user_constraints, och MySQL låter dig hämta namn från CONSTRAINT_NAME
kolumn i information_schema.TABLE_CONSTRAINTS
.