2009-01-12 72 views
1

對於那裏基本上每個SQL數據庫,你將如何升級你的數據類型,並將所有外鍵鏈接到該數據類型進行升級?如何將所有外鍵中的數據類型從32位整數升級到SQL中的64位整數?

例如,假設我有ScientificResult是一個32位整數。現在我想要ScientifcResult是一個64位整數。 ScientificResult也是其他幾個表的外鍵,但它們被聲明爲32位整數。

有沒有一種通用的方法來做到這一點?

+0

如果有任何人都知道的程序或腳本可以做到這一點? – 2011-04-20 15:48:33

回答

1

我想說通用的方法是放棄所有的鍵,改變列的數據類型,然後重新創建所有的鍵。

2

使用INFORMATION_SCHEMA.COLUMNS和各種約束表生成腳本。

  1. 丟棄所有的外鍵
  2. 升級所有(ALTER TABLE ALTER COLUMN
  3. 重新創建所有的外鍵

如果表是巨大的,步驟2和3可以採取表長時間。