Frage

Ich habe eine Tabelle mit einem ganzen Bündel von FKs.

Table Vehicles
-----------
ColorID -> Color.ID
MakeID -> Make.ID
ModelID -> Model.ID
etc...

Mein Problem ist, dass ich ein paar Spalten vergessen und ich brauche, um sie hinzuzufügen. Ich kann sie durch Rechtsklick auf die Tabelle hinzufügen und wählen Sie ‚Design‘, aber nicht, wenn ich möchte, dass sie NOT NULL machen, oder eine Spalte löschen. Ich konnte erzeugen auch einen Tropfen / Script erstellen, aber ich diesen Fehler:

Msg 3726, Level 16, State 1, Line 4
Could not drop object 'dbo.SellVehicles' because it is referenced by a FOREIGN KEY constraint.

muß ich durchlaufen und jedes FK zu entfernen, und dann fallen / erstellen, dann fügen Sie sie zurück oder gibt es einen schnellen / schmerzlos Weg, dies zu tun? Gibt es eine Möglichkeit, diese FKs schnell zu löschen und neu erstellen?

Warum funktioniert

IF  EXISTS (SELECT * FROM sys.foreign_keys WHERE object_id = OBJECT_ID(N'[dbo].[FK_SellVehicles_Conditions]') AND parent_object_id = OBJECT_ID(N'[dbo].[SellVehicles]'))
ALTER TABLE [dbo].[SellVehicles] DROP CONSTRAINT [FK_SellVehicles_Conditions]
GO

beseitigen diesen Fehler? Ist das FK noch auf der anderen Tabelle verwiesen wird?

War es hilfreich?

Lösung

Die Einschränkung, die den Fehler auslöst ist nicht auf der dbo.SellVehicles Tabelle ; es ist auf einem Tisch, dass Referenzen den dbo.SellVehicles Tisch. Die Verweise auf die Farbe, Marke und Modell-Tabellen sind nicht das Problem -. Ich ist versucht, das Kind in einer Eltern-Kind-Beziehung zu löschen / Löschen

Ich bezweifle die Einschränkung Sie vor dem ALTER TABLE ... DROP CONSTRAINT ... existierte testen.

In SSMS können Sie direkt auf eine Tabelle klicken, und wählen Sie „Abhängigkeiten“. Es gibt ein Optionsfeld wählen Sie die Objekte anzeigen, die auf der dbo.SellVehicles Tabelle abhängen, oder der Stoff, die dbo.SellVehicles Tabelle abhängt.

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