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

Java 在Derby中将主键列类型从Integer迁移到BigInt,java,sql,database-design,derby,database-migration,Java,Sql,Database Design,Derby,Database Migration,我开发了一个软件,目前正在生产中,有5个客户使用。 我正在使用Derby数据库 但是,现在,我意识到我应该用BigInt数据类型而不是Integer类型设计一个表主键列 那么,在这个表也通过这个主键列与其他表有关系的情况下,如何安全地修改这个表呢 而且,如果我想将所有表主键列的类型从Integer更改为BigInt,会对性能产生任何影响吗?尝试以下方法: ALTER TABLE MY_TABLE ADD COLUMN NEW_COLUMN BIGINT; UPDATE MY_TABLE SE

我开发了一个软件,目前正在生产中,有5个客户使用。 我正在使用Derby数据库

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

那么,在这个表也通过这个主键列与其他表有关系的情况下,如何安全地修改这个表呢

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

尝试以下方法:

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;  
讨论