Есть старый дамп и новый. Нужно в новый подлить старый, но только не заливать те строки, если в новом дампе параметр `auth` равен прежнему. Короче, это статистика на моих серверах. Пишется Стим ид в отдельную колонку. Надо такой запрос, чтобы при добавлении старого дампа, не заменялись те строки где уже сущетсвует такой стим ид. Пример: Новая: `id` `value` `steamid` = 1, 2232, STEAM_0:1:000000 `id` `value` `steamid` = 2, 2543, STEAM_0:1:004230 `id` `value` `steamid` = 3, 5345, STEAM_0:1:023400 Старый: `id` `value` `steamid` = 1, 2134, STEAM_0:1:000000 `id` `value` `steamid` = 2, 97, STEAM_0:1:0048989 `id` `value` `steamid` = 3, 321, STEAM_0:1:02213 Итог: `id` `value` `steamid` = 1, 2232, STEAM_0:1:000000 (из нового) `id` `value` `steamid` = 2, 2543, STEAM_0:1:004230 (из нового) `id` `value` `steamid` = 3, 5345, STEAM_0:1:023400 (из нового) `id` `value` `steamid` = 4, 97, STEAM_0:1:0048989 (старый) `id` `value` `steamid` = 5, 321, STEAM_0:1:02213 (старый) Из 6 строчек у нас есть равные. Нам надо сохранить строку из нового дампа, удалив из старого. Я не знал как объяснить, потому нарисовал)
Тебе на stackoverflow.com с этой ебалой, но проще не усложнять себе жизнь и сначала импортировать все, а после выполнить <? $arr = array(); while($q = mysqli_query($db,"select * from TABLE)) { if (in_array($arr, $q['steamid'])) { mysqli_query($db,"delete from TABLE where id = $q['id']"); } else { array_push($arr, $q['steamid']); } } echo 'выполнено'; ?> Дубликаты по стимайди будут удалены
Если у кого будет подобная проблема, то лучшим решением будет: 1. Импортировать первый дамп в тестовую базу, а затем экспортировать снова, но на сей раз без колонки id (исключить из экспорта). Очистить базу. Залить второй дамп, сделать то же самое 2. Залить первый, а после второй дамп в production базу. Главное - проверьте, что у вас есть autoincrement на колонку id. Кратко: мы теперь не затираем строки из-за идентификатора, а добавляем новые в конец