#php #mysql
#php #mysql
Вопрос:
Я думаю, что я, наконец, достиг точки, когда поиск в Google больше не эффективен в моем образовании по php / mysql. Итак, это мой первый вопрос по stack overflow. Я надеюсь, что я не облажаюсь.
Я импортирую таблицу от стороннего поставщика два раза в день. Я хочу импортировать таблицу в существующую таблицу. Между обновлениями обе таблицы будут изменены. Импортированная таблица будет иметь другое количество строк, но в существующей таблице значения в строках будут изменены.
Я хочу добавить только те строки, которых еще не было в существующей таблице, но я не хочу использовать mysql REPLACE из-за измененных значений существующей таблицы.
Есть идеи о том, как это сделать?
Ответ №1:
Возможно, вам повезет с использованием INSERT IGNORE
.
INSERT IGNORE
INTO table1
SELECT *
FROM table2
Это приведет к вставке всех новых значений первичного ключа из table2 в table1. Если ключ уже существует в table1, он заменит ключ в table2 и, следовательно, он не будет вставлен / заменен.