У меня есть лист 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 здесь.
Вы можете изменить, чтобы вставить результат выбора, например:
INSERT INTO test (id, value)
SELECT foobar.id, 20
FROM foobar WHERE id = 10;