ALTER TABLE on dependent column

前端 未结 3 1891
抹茶落季
抹茶落季 2021-02-01 01:03

I am trying to alter column datatype of a primary key to tinyint from int.This column is a foreign key in other tables.So,I get the following error:


3条回答
  •  名媛妹妹
    2021-02-01 01:44

    I believe that you will have to drop the foreign key constraints first. Then update all of the appropriate tables and remap them as they were.

    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
    

    However, unless memory is a really big issue, I would keep the identity as an INT. Unless you are 100% positive that your keys will never grow past the TINYINT restraints. Just a word of caution :)

提交回复
热议问题