Frage

habe ich eine Tabelle Benutzer darstellt. Wenn ein Benutzer gelöscht wird, erhalte ich:

DELETE-Anweisung in Konflikt mit dem REFERENCE-Einschränkung

Offenbar CASCADE DELETE ist nicht so einfach, wie ich in SQL Server vorgestellt, und die Option Bedürfnisse der Tabelle hinzugefügt werden.

Das Problem ist. Ich kann nicht herausfinden, wie die CASCADE DELETE Option hinzufügen

Ich bin mit: SQL Server 2008 . Irgendwelche Ideen, wie dies zu tun?

War es hilfreich?

Lösung

Lesen Sie diesen ersten Microsoft-Artikel. Read Me . Ich benutze die GUI während der Konstruktion so ist hier ein Bild davon, wie es in SSMS ausgewählt ist. alt text Die Syntax zum Fremdschlüssel hinzugefügt ist "ON DELETE CASCADE"

Andere Tipps

Google ALTER TABLE DROP CONSTRAINT, dann ALTER TABLE ADD CONSTRAINT:

ALTER TABLE

Hier ist ein kleines Beispiel:

CREATE TABLE A 
(
 ID INTEGER NOT NULL UNIQUE
);

CREATE TABLE B 
(
 ID INTEGER NOT NULL UNIQUE
    CONSTRAINT fk__B__A 
       REFERENCES A (ID)
);

-- Oops! Forgot the CASCADE referential actions.
-- DROP the constraint then recreate it:

ALTER TABLE B DROP
   CONSTRAINT fk__B__A;

ALTER TABLE B ADD
   CONSTRAINT fk__B__A
      FOREIGN KEY (ID)
      REFERENCES A (ID)
      ON DELETE CASCADE
      ON UPDATE CASCADE;

Hier ist die Art, wie ich die "Cascading löschen" -Funktion, um eine hinzufügen würde bestehende Fremdschlüssel in SQL Server Management Studio .

Zuerst Ihre Fremdschlüssel finden, und es ist „DROP und CREATE“ in einem neuen Abfragefenster öffnen.

 Drop und erstellen

Dann fügen Sie einfach "ON DELETE CASCADE" zum "ADD CONSTRAINT" Befehl:

 On löschen Kaskade

Dann drücken Sie einfach auf den „Ausführen“, um die Abfrage auszuführen.

Job gemacht!

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top