2016-10-28 1 views
0

Ich versuche Spalte zu ändern Version dezimal (3,1), aber es ist unter denen diesem FehlerAlte Säule, die ein zusammengesetzter Schlüssel-SQL Server

Das Objekt ‚PK__SlideVer__E0872D0E86F75C91‘ ist abhängig von der Spalte ‚Version ".

fkSlideId ist ein Fremd key.See das Bild

enter image description here

+1

Primärschlüssel ablegen und diese Spalte ändern. Dann erstelle es neu. – Buddi

+0

Ich habe versucht, den Primärschlüssel zu löschen: Ändern Sie den Primärschlüssel für die Tabelle (col1, col2), aber es funktioniert nicht –

+0

Welchen Fehler haben Sie? gleich wie vorher? – Buddi

Antwort

0

Ich habe Ihnen gerade ein Beispiel gezeigt.

CREATE TABLE TAR1 
    (
    ID INT NOT NULL, 
    NAME VARCHAR(20) NOT NULL 
    ) 



     ALTER TABLE TAR1 ADD CONSTRAINT PK_1 PRIMARY KEY(ID,NAME) 

     ALTER TABLE TAR1 ALTER COLUMN NAME VARCHAR(50) -- will throw an error 

     ALTER TABLE TAR1 DROP CONSTRAINT PK_1 

     ALTER TABLE TAR1 ALTER COLUMN NAME VARCHAR(50) not null --You must specify not null 
     ALTER TABLE TAR1 ADD CONSTRAINT PK_1 PRIMARY KEY(ID,NAME) 
+0

Ich kann keine neue Tabelle erstellen, muss die aktuelle aktualisieren –

+0

Ich machte keine Einschränkung beim Erstellen dieser Tabelle –

+0

@SyedKamranAhmed Für diesen Tropfen existierte Primärschlüssel dann Spalte mit Ihrem erforderlichen Datentyp ändern und muss nicht null angeben. Nach den obigen Schritten müssen Sie Pk erneut erstellen. Können Sie zum besseren Verständnis Ihre Primärschlüssel, Fremdschlüssel im Detail veröffentlichen? – Buddi

0

Wie @Buddi spitz, müssen Sie zuerst den Primärschlüssel und andere beliebige abhängige Objekt löschen, bevor Sie Ihre Spalte zu ändern.

ALTER TABLE SlideVersion 
DROP CONSTRAINT PK__SlideVer__E0872D0E86F75C91 
Verwandte Themen