将主键列类型从Integer迁移到Derby中的BigInt

时间:2015-03-02 12:52:42

标签: java sql database-design derby database-migration

我已经开发出一种现在正在生产的软件&由5个客户使用。 我正在使用Derby数据库。

但是,现在,我意识到我应该设计一个包含BigInt数据类型而不是Integer类型的表主键列。

那么如果这个表与其他表也通过这个主键列有关系,我怎么能安全地改变表呢?

而且,如果我想将所有表格主键列的类型从Integer更改为BigInt,是否会对效果产生任何影响?

1 个答案:

答案 0 :(得分: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