Sqlserver
 sql >> Datenbank >  >> RDS >> Sqlserver

ALTER TABLE in abhängiger Spalte

Ich glaube, dass Sie zuerst die Fremdschlüsselbeschränkungen fallen lassen müssen. Aktualisieren Sie dann alle entsprechenden Tabellen und ordnen Sie sie neu zu, wie sie waren.

ALTER TABLE [dbo.Details_tbl] DROP CONSTRAINT [FK_Details_tbl_User_tbl];
-- Perform more appropriate alters
ALTER TABLE [dbo.Details_tbl] ADD FOREIGN KEY (FK_Details_tbl_User_tbl) 
    REFERENCES User_tbl(appId);
-- Perform all appropriate alters to bring the key constraints back

Wenn der Speicher jedoch kein wirklich großes Problem darstellt, würde ich die Identität als INT beibehalten. Es sei denn, Sie sind sich zu 100 % sicher, dass Ihre Schlüssel niemals über die TINYINT-Fesseln hinauswachsen werden. Nur ein Wort der Vorsicht :)