【问题标题】:Migrating Primary Key column type from Integer to BigInt in Derby在 Derby 中将主键列类型从 Integer 迁移到 BigInt
【发布时间】:2015-05-02 20:01:06
【问题描述】:
我开发了一个软件,现在正在生产中并被 5 个客户使用。
我正在使用 Derby 数据库。
但是,现在,我意识到我应该设计一个具有BigInt 数据类型而不是Integer 类型的表主键列。
那么如果这个表也通过这个主键列与其他表有关系,我怎样才能安全地改变这个表呢?
而且,如果我想将所有表主键列的类型从Integer 更改为BigInt,对性能有影响吗?
【问题讨论】:
标签:
java
sql
database-design
derby
database-migration
【解决方案1】:
试试这个:
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