2011-02-23 103 views
1

我有一個2表,我想更新articlesarticles_entities文章有PK id和articles_entities有FK article_id這兩個字段都是char(36)當前是一個UUID。我期待將這些字段轉換爲int(10)。更新PK值mysql

有沒有一種方法可以用1個查詢更新2個表格並且按鍵匹配?還是必須編寫腳本來查看每篇文章並更新所有參考?

我使用InnoDb,如果有幫助。

回答

5

兩個步驟:

  1. 確保您的外鍵設置爲「ON UPDATE CASCADE」,然後使其包含數字更新母親表的ID字段。 ON UPDATE CASCADE約束將使InnoDB更新子表,因爲它更新了母親......如果您有很多行,請準備好這將非常緩慢。

  2. 將兩列的類型更改爲INT。您可能需要先刪除外鍵,然後再重新創建。