Database
 sql >> Datenbank >  >> RDS >> Database

So löschen Sie eine Fremdschlüsseleinschränkung in SQL

Problem:

Sie möchten einen Fremdschlüssel aus einer Tabelle in einer Datenbank löschen.

Beispiel:

Wir möchten den Fremdschlüssel namens fk_student_city_id entfernen aus der Tabelle student .

Lösung 1 (neue Tabelle):

ALTER TABLE student
DROP CONSTRAINT fk_student_city_id;

Diskussion:

Um einen Fremdschlüssel aus einer Tabelle zu löschen, verwenden Sie ALTER TABLE -Klausel mit dem Namen der Tabelle (in unserem Beispiel student ) gefolgt von der Klausel DROP CONSTRAINT mit dem Namen der Fremdschlüsseleinschränkung. In unserem Beispiel lautet der Name dieser Einschränkung fk_student_city_id .

Wenn die Einschränkung für den Fremdschlüssel von der Datenbank generiert wurde, finden Sie diesen Namen in der Datenbank. Jeder Datenbankserver hat jedoch eine andere Art, Beschränkungen zu benennen. In SQL Server können Sie dies überprüfen, indem Sie Daten aus sys.key_constraints in der angegebenen Datenbank. In PostgreSQL wählen Sie den conname aus Spalte aus pg_constraint Tisch. Oracle speichert diese Daten in der Tabelle user_constraints, und MySQL ermöglicht es Ihnen, Namen von CONSTRAINT_NAME abzurufen Spalte in information_schema.TABLE_CONSTRAINTS .