Probleem:
U wilt een externe sleutel uit een tabel in een database laten vallen.
Voorbeeld:
We willen de externe sleutel met de naam fk_student_city_id . verwijderen uit de tabel student .
Oplossing 1 (nieuwe tabel):
ALTER TABLE student DROP CONSTRAINT fk_student_city_id;
Discussie:
Om een externe sleutel uit een tabel te verwijderen, gebruikt u de ALTER TABLE clausule met de naam van de tabel (in ons voorbeeld student ) gevolgd door de clausule DROP CONSTRAINT met de naam van de externe sleutelbeperking. In ons voorbeeld is de naam van deze beperking fk_student_city_id .
Als de beperking voor de refererende sleutel door de database is gegenereerd, kunt u deze naam in de database vinden. Elke databaseserver heeft echter een andere manier om beperkingen te benoemen. In SQL Server kunt u dit controleren door gegevens te selecteren uit sys.key_constraints in de opgegeven database. In PostgreSQL selecteert u de conname kolom uit de pg_constraint tafel. Oracle slaat deze gegevens op in de tabel user_constraints en MySQL stelt u in staat namen op te halen uit CONSTRAINT_NAME kolom in information_schema.TABLE_CONSTRAINTS .