希望你們能幫我弄清楚我以前沒有遇到過的事情。用外鍵將列中的數據替換爲其他表中的相同數據
我有一個表,稱爲TableA,有很多列。其中之一是'國家',條目如:
state
'MA'
'NJ'
'HI'
等等。我想創建某種方式將這些值拉出到一個新的外鍵表中,稱之爲StateTable,它將有列state_key和state。
例如,這裏就是我想象它繼續行到行:
第1行:在表A價值「狀態」欄中的「馬」。檢查StateTable是否有'狀態'列爲'MA'的條目。如果是這樣,獲取該行的state_key,並用外鍵替換TableA中的條目,以便該行現在具有FK到'MA',而不是直接存儲該值。如果StateTable沒有'MA'條目,則插入它,並對新的FK執行相同的操作。依此類推,爲每一行。
因此,最終結果將是兩個表:
表A
state
1
2
3
StateTable
state_key state
1 'MA'
2 'NJ'
3 'HI'
不應該有任何硬編碼的東西怎麼回事,因爲我需要對於其他列也是這樣做的,比如說狀態,它的數量有限。
tl; dr一種將列中的數據保存到FK'd表中的方法。
任何想法?謝謝!!