2009-11-21 110 views
0

我正在使用以下查詢從一個表格批量插入到另一個表格。在批量插入時跳過錯誤

INSERT INTO billitems SELECT * FROM billitems_old; 

我想,如果插入的任何行失敗,則必須跳過該行繼續。有什麼我可以包含在上面的查詢跳過錯誤。

回答

3
insert ignore into billitems select * from billitems_old; 

參考:insert

+0

不工作。仍然顯示錯誤並終止。 – RKh 2009-11-21 09:58:40

+0

有什麼樣的錯誤?你不能更具體嗎? (也許用這個信息更新你的問題) – shylent 2009-11-21 10:01:01

+0

最初顯示的外鍵錯誤。當我想讓它跳過時,它會停止出現錯誤。 – RKh 2009-11-21 10:06:09

2

從網上documentation

If you use the IGNORE keyword, errors that occur while executing the INSERT statement are treated as warnings instead.

所以嘗試:

INSERT IGNORE INTO billitems SELECT * FROM billitems_old