Problema:
Vuoi eliminare una chiave esterna da una tabella in un database.
Esempio:
Vogliamo rimuovere la chiave esterna denominata fk_student_city_id dalla tabella student .
Soluzione 1 (nuova tabella):
ALTER TABLE student DROP CONSTRAINT fk_student_city_id;
Discussione:
Per eliminare una chiave esterna da una tabella, utilizzare ALTER TABLE clausola con il nome del tavolo (nel nostro esempio, student ) seguito dalla clausola DROP CONSTRAINT con il nome del vincolo di chiave esterna. Nel nostro esempio, il nome di questo vincolo è fk_student_city_id .
Se il vincolo per la chiave esterna è stato generato dal database, è possibile trovare questo nome nel database. Tuttavia, ogni server di database ha un modo diverso di denominare i vincoli. In SQL Server puoi verificarlo selezionando i dati da sys.key_constraints nella banca dati data. In PostgreSQL, selezioni conname colonna dal pg_constraint tavolo. Oracle memorizza questi dati nella tabella user_constraints e MySQL ti consente di ottenere i nomi da CONSTRAINT_NAME colonna in information_schema.TABLE_CONSTRAINTS .