我有兩個舊錶,並想「同步」(或更好設置新)兩個新表...這樣的:MSSQL - 舊到新表中,而不dublicates
tbl_old_event_categories(ID,標題)
tbl_old_events(ID,標題,CAT_ID)
tbl_new_event_categories(ID,類別)
tbl_new_events(event_id的,事件,CATEGORY_ID)
的PROBL em是新表可能已經有了值。所以ID會改變(也許)。因爲我不能使用ON DUPLICATE KEY UPDATE。 :(我需要檢查它單獨爲每個記錄的表是不是唯一的(我無法更改):/
我創建了一個JOIN獲得:
tbl_old_fullevents(事件類別) ? //沒有的ID(整數)只有名字(字符串)
但如何創建一個INSERT INTO [tbl_new_events]與檢查現有[事件] - 和[類別 - 值這是這樣的:
IF(tbl_old_fullevents.event IS NOT IN(tbl_new_events.events)) { INSERT INTO new_events VALUE( NULL, //ID tbl_old_fullevents.event, IF(tbl_old_fullevents.category IN(new_event_categories.categories)) { new_event_categories.id //matched } ELSE { INSERT INTO new_event_categories VALUE ( NULL, //ID old_fullevents.category ); new_event_categories.id //last INSERT-ID } ); }
新表是獨一無二的嗎?如果沒有,你是塞滿了。 –