Прошу помощи с мускулом

sirota77
На сайте с 08.09.2008
Offline
161
470

Для удаления дублей с доски объявлений пришло на ум только:

$sql = mysql_query("SELECT ob_id,ob_title,ob_email FROM таблица с объявлениями ORDER BY posted DESC");

while($find = mysql_fetch_array($sql)) $del = mysql_query("DELETE LOW_PRIORITY FROM ". $db_prefix ."messages WHERE ob_id != '".$find['ob_id']."' AND ob_title = '".$find['ob_title']."' AND ob_email = '".$find['ob_email']."'");

Но уж больно не нравится мне это :)

Подскажите, можно ли тоже самое сделать не делая кучу запросов ?

frantic
На сайте с 09.02.2009
Offline
27
#1

http://www.mojbred.com/706.html

Не стал вникать в ваш запрос, но это скорее всего то что нужно

[umka]
На сайте с 25.05.2008
Offline
456
#2

ALTER IGNORE TABLE `таблица с объявлениями` ADD UNIQUE KEY(ob_title,ob_email);

и, собственно, этот ключ оставить, чтобы в дальнейшем дубли не появлялись

Лог в помощь!
[Удален]
#3
sirota77:
Подскажите, можно ли тоже самое сделать не делая кучу запросов ?

нужно .

sirota77
На сайте с 08.09.2008
Offline
161
#4

Спасибо за подсказки.

[Удален]
#5

не за что)

sirota77
На сайте с 08.09.2008
Offline
161
#6

Хотя выходит альтернативы написанной мной тупой функции - нет.

Ведь она удаляет все записи кроме самой новой и при условии, что ob_title и ob_email повторяются вместе

[Удален]
#7
sirota77:
Хотя выходит альтернативы написанной мной тупой функции - нет.

копайте вася, копайте. есть альтернативы, и их несколько)

sirota77
На сайте с 08.09.2008
Offline
161
#8
bearman:
копайте вася, копайте. есть альтернативы, и их несколько)

спасибо и за это :)

хоть знаю что нормальное решение всё же есть

Авторизуйтесь или зарегистрируйтесь, чтобы оставить комментарий