2016-07-22 162 views
0

我有一個應用程序表,有許多列50或更多,也有這個應用程序的歸檔表。列計數與值計數不匹配

現在我想從存檔表主表恢復,但其列數不匹配對方,所以運行查詢:

INSERT INTO apps 
SELECT * FROM apps_archive 
WHERE client_id = 1234 

給我一個錯誤:

Error Code: 1136 - Column count doesn't match value count at row 1

我試過使用IGNORE聲明,但它只適用於唯一密鑰可能有問題的情況。

可以幫助我的事情是,無論如何只在匹配列上運行此查詢,或者使歸檔表匹配主表結構。

感謝

+1

我想不出任何其他選擇,但要確保他們的列匹配。除非您向我們展示這兩個表格之間的架構差異,否則我無法幫助:( – KaeL

+0

是的,據我瞭解,他們有一些不同的字段用於此目的,存檔表格有一些附加字段 –

+0

我敢打賭,沒有簡單的解決方案,你必須指定所有50列,直到你刻錄自己的哈哈!只需將列名從INSERT語句複製粘貼到SELECT語句中即可。 – KaeL

回答

1

由於列計數不匹配,這意味着他們兩個表不具有相同的表模式。如果您的apps表碰巧具有較少的列數,則對apps_archive表的結果進行投影。否則,您可以使用數據集成工具(如Talend Open Studios for data integration)來執行數據遷移。

+0

感謝您的回答,我想知道是否有一個簡單的解決方案,但我看到沒有一個。 –

+0

不客氣! – cdaiga

相關問題