Problem:
Chcesz usunąć klucz obcy z tabeli w bazie danych.
Przykład:
Chcemy usunąć klucz obcy o nazwie fk_student_city_id z tabeli student .
Rozwiązanie 1 (nowa tabela):
ALTER TABLE student DROP CONSTRAINT fk_student_city_id;
Dyskusja:
Aby usunąć klucz obcy z tabeli, użyj ALTER TABLE klauzula z nazwą tabeli (w naszym przykładzie student ), po której następuje klauzula DROP CONSTRAINT z nazwą ograniczenia klucza obcego. W naszym przykładzie nazwa tego ograniczenia to fk_student_city_id .
Jeśli ograniczenie dla klucza obcego zostało wygenerowane przez bazę danych, możesz znaleźć tę nazwę w bazie danych. Jednak każdy serwer bazy danych ma inny sposób określania ograniczeń nazw. W SQL Server możesz to sprawdzić, wybierając dane z sys.key_constraints w podanej bazie danych. W PostgreSQL wybierasz conname kolumna z pg_constraint stół. Oracle przechowuje te dane w tabeli user_constraints, a MySQL umożliwia pobieranie nazw z CONSTRAINT_NAME kolumna w information_schema.TABLE_CONSTRAINTS .