Поиск дубликатов

Статус
В этой теме нельзя размещать новые ответы.

The Finn

Постоялец
Регистрация
30 Авг 2009
Сообщения
80
Реакции
9
Сабж: есть 2 базы данных для DLE.
Цель: слить с обеих баз пользователей в одну.

Но некоторые аккаунты попадаются в обоих базах и надо от них избавиться, каким образом это сделать ? Юзал поиск, результатов не дал. Сам в MySQL полный дуб. Надеюсь на помощь.
 
Ты можешь работать на уровне дампов :) Т.е. создаешь из двух баз дампы и фигачь что хочешь с ними
А так если тебя интересуют дубликаты в запросе/таблице то тебе нужен запрос:
SELECT DISTINCT [fields] FROM [from_table] WHERE [condition]
 
Gisma, я так понимаю, что сначала нужно залить обе базы, и поставить им разный префикс. И вот тут у меня ступор, надо сравнить эти 2 базы и отсеять дубликаты. Не мог бы ты мне ещё более подробней объяснить (представь, что я младенец, которого впервый раз вывели на прогулку и учат переставлять ножки)?

В обоих базах интересуют таблицы dle_users и вот с ними нужно проделать операции по извелечению дубликатов и объединению их в одну базу.
 
Проблема по-прежнему актуальна
 
Сделать уникальным поле email к примеру и тупо залить две базы.
Там где email уже содержится в базе, база эту запись не добавит.
 
Можно так

Код:
INSERT INTO basa3.dle_users (fio, email)

SELECT fio, email
FROM basa1.dle_users

UNION 

SELECT fio, email
FROM basa2.dle_users
 
Меня тоже интересует данный вопрос,но дело в том, что когда импортируешь пользователей с одной базы в другую, возникает ошибка "Duplicate entry fo key...", а именно для полей "email, name, user_id". Как можно импортировать пользователей с одной базы в другую, при этом чтбы пользователей с одинаковыми мылом и логином удалило, а с одинаковым йд, просто дописало а не заменяло в той таблице в которую импортируешь???? Если можно напишите пожалуйста порядок действий, что за чем и запросы с помощью которых это все можно выполнить(в PhpMyAdmin или может в какой-то другой проге)!!!! Заранее спасибо!!!! :bc:
 
Простое решение

Мускуль может вам дать простое решение. Берем поле логин и пароль - делаем их сочетание уникальным на уровне БД,

из дампа второго убираем если есть DROP TABLE IF EXISTS, заливаем дамп поверх таблицы имеем однозначно разные пользователь-пароль но, возможны пересечения один логин, чтобы его избежать необходимо УНИКАЛЬНОСТЬ поставить только для поля логин

У вас теперь должен проснуться вопрос, ЙОПТЬ, А В РАЗНЫХ БАЗАХ НЕТУ ЛИ РАЗНЫХ ПОЛЬЗОВАТЕЛЕЙ С ОДИНАКОВЫМИ ЛОГИНАМИ???, да кстати перед добавлением нужно избавиться в нормальном текстовом редакторе от

INSERT INTO ... ('id', ... VALUES ('123',... что можно сделать в нотпад++ (в дримваке тормоз по большим файлам)

- нужно заменить "('id'," на "("
и регуляркой "VALUES ('[0-9]+'," на "VALUES ("

либо сделать один дамп из двух соответственно сделав с ними такиеже преобразования
 
Javlon Sodikov,
это решение чисто под ДЛЕ? или можно использовать более унифицировано?
 
Статус
В этой теме нельзя размещать новые ответы.
Назад
Сверху