对于所有外键,如何将数据类型从32位整数升级到SQL中的64位整数?

时间:2009-01-12 22:12:10

标签: sql

对于基本上每个SQL数据库,如何升级数据类型并将所有链接到该数据类型的外键升级?

例如,假设我的ScientificResult是一个32位整数。现在我希望ScientifcResult是一个64位整数。 ScientificResult也是其他几个表的外键,但它们被声明为32位整数。

有没有通用的方法来做到这一点?

2 个答案:

答案 0 :(得分:2)

使用INFORMATION_SCHEMA.COLUMNS和各种约束表生成脚本。

  1. 删除所有外键
  2. 升级所有表格(ALTER TABLE ALTER COLUMN
  3. 重新创建所有外键
  4. 如果表格很大,第2步和第3步可能需要很长时间。

答案 1 :(得分:1)

我会说通用的方法是删除所有键,更改列数据类型,然后重新创建所有键。