MySQL: Вставьте, если внешний ключ существует

У меня есть лист Excel приблизительно с 2 000 строк, которые я хочу вставить в свою базу данных.

Проблема состоит в том, что таблица, в которую я хочу вставить эти 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 здесь.

7
задан marc_s 23 January 2016 в 08:48
поделиться