Всем добрый день товарищи. Вобщем написал скрипт который парсит xml файл и импортирует это все в бд, Хочу повесить на крон и забыть. Но тут проблема если я буду постоянно инсертом добовлять данные то они будут просто добавлятся и добавлятся ну будет не ахти будут дубли как сделать так что бы он добавлял только новые товары а старые если там что то изменилось то заменял на новую информацию.?
Если БД - это MySQL, то в дополнение к тому, что TeslaFeo сказал, там ещё есть прикольные команды INSERT IGNORE и INSERT ... ON DUPLICATE KEY UPDATE.
ок спасибо. Погуглю. Да MySQL --- Добавлено --- Так если я правильно понял то там нужно по id сравнивать но а как я буду их сравнивать если id уникальный у товаров и создается он автоинкриментом. Обьясните про DUPLICATE KEY UPDATE а то яне понял если честно.
позволяет задать действия, которые база должна выполнить в случае дублирования уникального ключа. К примеру, обновить часть (все остальные) поля. В твоём XML наверняка есть какой-нибудь id тоже, вот его пишешь к примеру в базу, а в следующий раз - с этой полезной командой, чтоб он обновил, к примеру, цену, но ничего не дублировал
Типо сделать по этому id уникальный ключ, и тогда mysql сама будет по нему проверять, если используется команда on duplicate key update. Заугугли уже, что-ли, дохрена информации есть на русском языке про mysql.
реплэйс заменяет не только в случае совпадения первичного ключа. В мануале по ссылке это есть. Читай внимательно.