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

标签 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 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/

相关文章:

java - 构建两个build.gradle文件,第二个build.gradle的文件路径错误

java - 在 swt 中显示组合框的结果

java - 如何以编程方式从 SD 卡显示 .apk 文件的用户列表?

sql - 如何将 Dapper 与 MS SQL Server (2012) 地理空间/SQLGeography 列结合使用

postgresql - 在函数中更改架构名称

java - Spring boot 应用程序无法在 PUT API 调用中映射 List 对象

mysql - MySQL 同一行中两个行字段之间的数据交换

mysql - 在数据库中拆分表是否有助于解决性能问题?

database - 银行数据库设计问题

sql-server - 在主表中添加客户特定记录