我开发了一款软件,现已投入生产并由 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;
已讨论here
关于java - 在 Derby 中将主键列类型从 Integer 迁移到 BigInt,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28810286/