6
我有一個大約2.000行的Excel表,我想插入到我的數據庫中。MySQL:如果外鍵存在,則插入
問題是我想插入2.000行的表有一個引用另一個表中的外鍵的列。不幸的是,很多查詢失敗,因爲提供的外鍵值不存在。
我知道我可以忽略外鍵檢查,但這不是我想要的。我不想忽略外鍵檢查,我只想讓不好的查詢不被執行。
例子:
INSERT INTO test (id, value) VALUES (10, 20);
INSERT INTO test (id, value) VALUES (20, 20);
第一查詢失敗,因爲TEST.id
引用foobar.id
並沒有foobar.id = 10.
然而,第二個查詢會的工作,因爲foobar.id = 20
存在,但第二個查詢將不會被執行,因爲第一個已經失敗了。
有什麼辦法,我沒有得到第一個查詢錯誤,我的其他查詢仍然會被執行?
我可以寫一個PHP腳本,但我更喜歡這裏的MySQL解決方案。
有加限制1,否則每次插入可能是多行。 – MJB 2010-06-25 12:05:20
@MJB我假設id是'foobar'上的主鍵,根據OP,所以不應該需要'LIMIT' *。 – 2010-06-25 12:10:19
如果我這樣做,只能將數據插入到已經在「foobar」中的「test」中,對嗎?但是我添加了新的數據,這些數據來自Excel表格。 我可以以某種方式調整這個,所以我可以添加新的數據嗎? – user375700 2010-06-25 12:12:11