2015-03-02 54 views
1

我開發了一個正在生產的軟件,現在由5個客戶端使用&。 我正在使用Derby數據庫。將主鍵列類型從Integer遷移到Derby中的BigInt

但是,現在,我意識到我應該設計一個表主鍵列與BigInt數據類型而不是Integer類型。

那麼我怎麼能安全地更改表,在這種情況下,當這張表也通過這個主鍵列與其他表的關係?

而且,如果我想將所有表主鍵列的類型從Integer更改爲BigInt,那麼對性能會有什麼影響嗎?

回答

0

試試這個:

ALTER TABLE MY_TABLE ADD COLUMN NEW_COLUMN BIGINT; 
UPDATE MY_TABLE SET NEW_COLUMN=MY_COLUMN; 
ALTER TABLE MY_TABLE DROP COLUMN MY_COLUMN; 
RENAME COLUMN MY_TABLE.NEW_COLUMN TO MY_COLUMN; 

討論here