Können wir eine Tabelle mit Fremdschlüssel löschen?

Gefragt von: Abdelouahid Hartlage | Zuletzt aktualisiert: 19. Januar 2020
Kategorie: Technik und Computer - Datenbanken
4.5/5 (90 Ansichten . 39 Stimmen)
SQL Server - Tropfen Alle Verweise auf übergeordneten Tabelle. In SQL Server können Sie eine Tabelle nicht löschen, wenn sie von einer FOREIGN KEY- Einschränkung referenziert wird. Sie müssen entweder die untergeordneten Tabellen löschen , bevor die übergeordnete Tabelle entfernen oder Fremdschlüssel - Constraints entfernen.

Wie löscht man eine Tabelle mit Fremdschlüsseleinschränkungen?

Staat‘- Drop the Fremdschlüssel durch seinen Namen TABLE dbo ALTER.

  1. Wählen Sie die Tabellen aus, die Sie DROP möchten.
  2. Wählen Sie "In neuem Abfragefenster speichern".
  3. Klicken Sie auf die Schaltfläche Erweitert.
  4. Setzen Sie Script DROP und CREATE auf Script DROP.
  5. Setzen Sie Skript-Fremdschlüssel auf True.
  6. OK klicken.
  7. Klicken Sie auf Weiter -> Weiter -> Fertig stellen.
  8. Zeigen Sie das Skript an und führen Sie dann aus.

Wie löschen Sie außerdem eine Tabelle, auf die von einem Fremdschlüssel verwiesen wird? Die beste Antwort zum Löschen der Tabelle mit Fremdeinschränkungen lautet:

  1. Schritt 1: Löschen Sie den Primärschlüssel der Tabelle.
  2. Schritt 2: Jetzt wird gefragt, ob alle Fremdreferenzen gelöscht werden sollen oder nicht.
  3. Schritt 3: Löschen Sie die Tabelle.

Können wir diesbezüglich eine Tabelle mit Fremdschlüssel löschen?

Ja, Sie können . Sie müssen jedoch zuerst die Fremdschlüsseleinschränkung in der Datenbank löschen . Ohne die Beziehung Zwänge, können Sie so ziemlich die gesamte Tabelle fallen die Primärschlüssel enthalten , da es keine mehr Abhängigkeiten sind.

Können wir eine Tabelle löschen, die einen Primärschlüssel hat?

In SQL können Sie einen Primärschlüssel mit der Anweisung ALTER TABLE löschen .

39 Antworten zu ähnlichen Fragen gefunden

Wie lösche ich einen Fremdschlüssel?

So löschen Sie eine Fremdschlüsseleinschränkung
  1. Erweitern Sie im Objekt-Explorer die Tabelle mit der Einschränkung, und erweitern Sie dann Schlüssel.
  2. Klicken Sie mit der rechten Maustaste auf die Einschränkung, und klicken Sie dann auf Löschen.
  3. Klicken Sie im Dialogfeld Objekt löschen auf OK.

Können wir die übergeordnete Tabelle löschen, ohne die untergeordnete Tabelle zu löschen?

3 Antworten. Sie können eine übergeordnete Tabelle nicht löschen, wenn Sie eine untergeordnete Tabelle mit einer Fremdschlüssel-Einschränkung haben, es sei denn, Sie geben die CASCADE CONSTRAINTS-Klausel an: DROP TABLE P CASCADE CONSTRAINTS; Seltsam, wenn Sie die Einschränkungen korrekt deaktiviert haben , sollten Sie die übergeordnete Tabelle ohne Fehler löschen können.

Wie lösche ich einen Fremdschlüssel in Oracle?

Oracle / PLSQL: Einen Fremdschlüssel löschen
  1. Beschreibung. Nachdem ein Fremdschlüssel erstellt wurde, möchten Sie möglicherweise den Fremdschlüssel aus der Tabelle löschen.
  2. Syntax. Die Syntax zum Löschen eines Fremdschlüssels in Oracle/PLSQL lautet: ALTER TABLE Tabellenname DROP CONSTRAINT Einschränkungsname;
  3. Beispiel. Wenn Sie einen Fremdschlüssel wie folgt angelegt hätten:

Wie löscht man eine vorhandene Tabelle?

SQL Server DROP TABLE
  1. Geben Sie zunächst den Namen der zu entfernenden Tabelle an.
  2. Geben Sie zweitens den Namen der Datenbank an, in der die Tabelle erstellt wurde, und den Namen des Schemas, zu dem die Tabelle gehört. Der Datenbankname ist optional.
  3. Drittens verwenden Sie die IF EXISTS-Klausel, um die Tabelle nur dann zu entfernen, wenn sie existiert.

Wie entferne ich eine Prüfeinschränkung in SQL?

Die Syntax zum Löschen einer Check-Einschränkung in SQL Server (Transact- SQL ) lautet: ALTER TABLE Tabellenname DROP CONSTRAINT Einschränkungsname; Tabellenname. Der Name der Tabelle , die Sie wollen die Check - Einschränkung fallen zu lassen.

Kann eine untergeordnete Zeile nicht hinzugefügt oder aktualisiert werden, wenn eine Fremdschlüsseleinschränkung fehlschlägt?

Die FOREIGN KEY- Klausel wird in der untergeordneten Tabelle angegeben. Ein Fremdschlüssel nicht im Wesentlichen bedeutet , dass, versuchen Sie eine Zeile zu Ihrer Ordrelinje Tabelle hinzuzufügen , für die keine passende Zeile (OrderID) in Ordre Tabelle vorhanden ist: Es kann kein Kind Zeile hinzufügen oder aktualisieren. Sie müssen die Zeile zuerst in Ihre Ordre-Tabelle einfügen.

Erlaubt Fremdschlüssel doppelte Werte?

Im Gegensatz zu Primärschlüsseln können Fremdschlüssel doppelte Werte enthalten. Außerdem ist es in Ordnung, wenn sie NULL- Werte enthalten. Indizes werden für Fremdschlüssel nicht automatisch erstellt; Als DBA können Sie sie jedoch definieren. Eine Tabelle darf mehr als einen Fremdschlüssel enthalten.

Was ist Drop-Table?

Lassen Sie eine Tabelle. Der Befehl drop table wird verwendet, um eine Tabelle und alle Zeilen in der Tabelle zu löschen . Wenn Sie alle Datensätze in der Tabelle löschen, bleibt die Tabelle einschließlich Spalten- und Einschränkungsinformationen übrig. Durch das Löschen der Tabelle werden die Tabellendefinition sowie alle ihre Zeilen entfernt.

Kann Fremdschlüssel gelöscht werden?

Ein Fremdschlüssel mit Löschweitergabe bedeutet , dass , wenn ein Datensatz in der übergeordneten Tabelle gelöscht wird, dann werden die entsprechenden Datensätze in der untergeordneten Tabelle automatisch gelöscht. Ein Fremdschlüssel mit Löschkaskade kann entweder mit einer CREATE TABLE-Anweisung oder einer ALTER TABLE-Anweisung erstellt werden.

Kann ein Fremdschlüssel null sein?

Ein Fremdschlüssel NULL - Werte können nicht die Werte eines übergeordneten Schlüssels übereinstimmen, da ein übergeordneter Schlüssel per Definition keine Nullwert haben kann. Ein Null-Fremdschlüsselwert ist jedoch immer gültig, unabhängig vom Wert eines seiner Nicht- Null- Teile. Eine Tabelle kann viele Fremdschlüssel haben .

Kann eine Datenbanktabelle ohne Primärschlüssel existieren?

Nein. Jede Tabelle sollte eine Spalte (oder einen Satz von Spalten) haben, die eine und nur eine Zeile eindeutig identifiziert. Es erleichtert die Pflege der Daten erheblich. Es stimmt, ohne einen Primärschlüssel (oder einen eindeutigen Schlüssel ) gibt es keine Einfügeanomalie, wenn Sie dieselben Daten mehrmals einfügen.

Was ist ein Fremdschlüssel-Beispiel?

Ein Fremdschlüssel ist eine Spalte (oder Spalten) , die Referenzen eine Spalte (meist der Primärschlüssel) einer anderen Tabelle. Zum Beispiel, sagen wir haben zwei Tabellen, eine Tabelle CUSTOMER , die alle Kundendaten und eine ORDERS - Tabelle enthält , die alle Kundenaufträge enthalten.

Wie ignoriere ich Fremdschlüsseleinschränkungen in SQL?

So deaktivieren Sie eine Fremdschlüsseleinschränkung für INSERT- und UPDATE-Anweisungen
  1. Erweitern Sie im Objekt-Explorer die Tabelle mit der Einschränkung, und erweitern Sie dann den Ordner Schlüssel.
  2. Klicken Sie mit der rechten Maustaste auf die Abhängigkeit und wählen Sie Ändern.
  3. Klicken Sie im Raster unter Tabellen-Designer auf Fremdschlüsseleinschränkung erzwingen und wählen Sie Nein aus dem Dropdown-Menü aus.

Wie lösche ich eine Zeile in SQL?

So entfernen Sie eine oder mehrere Zeilen in einer Tabelle:
  1. Zuerst geben Sie in der DELETE FROM-Klausel den Tabellennamen an, aus dem Sie Daten entfernen möchten.
  2. Zweitens fügen Sie eine Bedingung in die WHERE-Klausel ein, um anzugeben, welche Zeilen entfernt werden sollen. Wenn Sie die WHERE-Klausel weglassen, entfernt die Anweisung alle Zeilen in der Tabelle.

Wie lösche ich einen Fremdschlüssel in mysql?

In TablePlus können Sie die Fremdschlüsseleinschränkung für eine Spalte aus der Tabellenstrukturansicht entfernen : Öffnen Sie die Tabellenstrukturansicht (? + ^ + ]) Klicken Sie auf das Feld "Fremdschlüssel" und wählen Sie , um die aktuelle Fremdbeziehung zu öffnen. Klicken Sie im Popup auf LÖSCHEN .

Wie lösche ich eine Zeile in einer Tabelle, die Fremdschlüssel für andere Tabellen enthält?

Dann werden Zeilen in den referenzierenden Tabellen für immer automatisch gelöscht, wenn ihre referenzierte Zeile gelöscht wird. Sie können eine Fremdschlüsseleinschränkung mit der Löschkaskadenoption wie unten gezeigt ändern. Dies wird chind Tabellenzeilen löscht , um Master - Tabellenzeilen verwendet , wenn gelöscht.

Wie verwende ich Löschkaskade in SQL?

ON DELETE CASCADE : SQL Server löscht die Zeilen in der untergeordneten Tabelle, die der Zeile entsprechen, die aus der übergeordneten Tabelle gelöscht wurde . ON DELETE SET NULL: SQL Server setzt die Zeilen in der untergeordneten Tabelle auf NULL, wenn die entsprechenden Zeilen in der übergeordneten Tabelle gelöscht werden .