2012-02-08 82 views
0

我需要更新table_1中記錄的主ID值,同時更新引用該ID值的外鍵。在下面的sql中,我包含了所有引用table_1的表,但並非所有這些表都引用了該特定記錄。 我使用下面的SQL:更新多個表中的主鍵和外鍵

UPDATE table_1 T1, 
table_2 T2, 
table_3 T3, 
table_4 T4, 
table_5 T5, 
table_6 T6, 
table_7 T7 
SET T1.EMI_ID = 15678, 
    T2.AKN_EMI_FK = 15678, 
    T3.EXP_EMI_FK = 15678, 
    T4.HDR_EMI_FK = 15678, 
    T5.LSU_EMI_FK = 15678, 
    T6.MUT_EMI_FK = 15678, 
    T7.IMG_EMI_FK = 15678 
WHERE T1.EMI_ID = 77777718765 AND 
T2.AKN_EMI_FK = T1.EMI_ID AND 
T3.EXP_EMI_FK = T1.EMI_ID AND 
T4.HDR_EMI_FK = T1.EMI_ID AND 
T5.LSU_EMI_FK = T1.EMI_ID AND 
T6.MUT_EMI_FK = T1.EMI_ID AND 
T7.IMG_EMI_FK = T1.EMI_ID; 

它似乎並不奏效,我認爲,可以在記錄ID不存在作爲外鍵的一些表是因爲。

有沒有更好的方法來做到這一點?

回答