2010-07-19 70 views
1

我們遇到了主鍵出問題。由於所有數據最初都是直接添加的,因此它被設置爲一個有意義的值以便於數據輸入。但是現在,所有條目並不總是有意義的價值。所以現在我們正在轉向一個自動生成的,無意義的密鑰。但我必須更新數據庫以反映這一點。在主鍵更改後更新了重構外鍵

所以我的產品表有列序列(原始鍵)和Id(新PK)。我的零件表有2列FK_serial(舊FK)和FK_product(新FK,目前對於所有條目設置爲0)。

是否有UPDATE語句會遍歷parts表並將FK_product設置爲serial = FK_serial的products表中的Id值?

回答

2
UPDATE parts 
JOIN products 
ON parts.FK_serial = products.serial 
SET parts.FK_product = products.Id;