Перейти к контенту
  • 0

Удаление пользователей - запрос MySQL


ZiDaNe

Вопрос

Здравствуйте!

 

Подскажите, какой запрос необходимо сделать к БД, чтобы удалить всех пользователей у которых ПОЛНОСТЬЮ совпадают поля "login" и "дополнительное поле". Спасибо.

Ссылка на комментарий
Поделиться на других сайтах

Рекомендуемые сообщения

  • 0

DELETE FROM ibf_members WHERE name = members_display_name

Будьте осторожны, потому как оно удалит действительно всех у кого такое совпадение.

Ссылка на комментарий
Поделиться на других сайтах

  • 0
Я так понимаю, что оно удалит тех, у кого совпадает логин и отображаемое имя? Мне нужно несколько иное...
Ссылка на комментарий
Поделиться на других сайтах

  • 0

а.. "дополнительное поле"

я невнимательно прочитал.

 

Это нельзя сделать одним запросом.

Ссылка на комментарий
Поделиться на других сайтах

  • 0

боты заполнили поля одинаково?)

поставь капчу Гаррета и не будет необходимости искать такие запросы

 

в какой таблице у нас хранится это дополнительное поле?

 

там наверно надо сделать запрос к таблице мемберс лефт джоин таблица с дополнительным полем по name=допполе

потом записать идэшки в массив..

потом удалять каждый по одному в foreach..

 

если конечно не существует способ совместить DELETE с LEFT JOIN

Ссылка на комментарий
Поделиться на других сайтах

  • 0

Я в таких случаях делаю так:

SELECT CONCAT(id,',') FROM ...

получается выборка с идентификаторами через запятую.

Далее я их копирую в буфер обмена, пишу:

DELETE FROM ... WHERE id IN (
сюда вставляю текст из буфера обмена
удаляю последнюю запятую
)

Ссылка на комментарий
Поделиться на других сайтах

  • 0
боты заполнили поля одинаково?)

поставь капчу Гаррета и не будет необходимости искать такие запросы

В точку=) Сейчас планирую перейти на 2.2, там вроде с этим проблем нет :D

 

Я в таких случаях делаю так:

SELECT CONCAT(id,',') FROM ...

получается выборка с идентификаторами через запятую.

Далее я их копирую в буфер обмена, пишу:

DELETE FROM ... WHERE id IN (
сюда вставляю текст из буфера обмена
удаляю последнюю запятую
)

К сожалению ничего не понял. Если время есть, то немогли бы расписать более поробно.

Ссылка на комментарий
Поделиться на других сайтах

  • 0
Я просто ничего не понимаю в синтаксисе SQL запросов, но в тоже время вижу, что в приведённом описании нет ниакого упоминания об этом дополнительном поле. Видимо это только алгоритм.
Ссылка на комментарий
Поделиться на других сайтах

  • 0
Ну интересно, а откуда я знаю название вашего дополнительного поля. Если вы думаете, что оно у всех одинаковое, вы ошибаетесь.
Ссылка на комментарий
Поделиться на других сайтах

  • 0
Ошибаюсь. Впредеь буду знать. Подскажите, а где искать название этого дополнительного поля?
Ссылка на комментарий
Поделиться на других сайтах

  • 0
В таблице ibf_pfields_content. Поля вида field_номер.
Ссылка на комментарий
Поделиться на других сайтах

  • 0
В таблице ibf_pfields_content. Поля вида field_номер.

Спасибо! Там обнаружил field_1. Как в таком сручае будет выглядеть запрос?

Ссылка на комментарий
Поделиться на других сайтах

  • 0

В этом сручае :D он будет выглядеть так:

 

SELECT CONCAT(pf.member_id,',') FROM ibf_pfields_content pf, ibf_members m WHERE pf.member_id=m.id and m.name=pf.field_1

 

Лучше проверь сначала.

Так ли оно:

SELECT m.id, m.name, pf.field_1 FROM ibf_pfields_content pf, ibf_members m WHERE pf.member_id=m.id and m.name=pf.field_1 ORDER BY m.name

Ссылка на комментарий
Поделиться на других сайтах

  • 0
Поторопился. По запросу действительно находятся все необходимые пользователи, но не удаляются :D
Ссылка на комментарий
Поделиться на других сайтах

  • 0

:D

 

ясен пень. Запрос же SELECT.

 

Читайте выше, я же там всё написал.

Ссылка на комментарий
Поделиться на других сайтах

  • 0
Большое спасибо. Вы уж извините за такие вопросы, просто пока слабо в этом разбираюсь. Ещё раз спасибо за помощь.
Ссылка на комментарий
Поделиться на других сайтах

Присоединиться к обсуждению

Вы можете ответить сейчас, а зарегистрироваться позже. Если у вас уже есть аккаунт, войдите, чтобы ответить от своего имени.

Гость
Unfortunately, your content contains terms that we do not allow. Please edit your content to remove the highlighted words below.
Ответить на вопрос...

×   Вы вставили отформатированный текст.   Удалить форматирование

  Допустимо не более 75 смайлов.

×   Ваша ссылка была автоматически заменена на медиа-контент.   Отображать как ссылку

×   Ваши публикации восстановлены.   Очистить редактор

×   Вы не можете вставить изображения напрямую. Загрузите или вставьте изображения по ссылке.

Зарузка...
×
×
  • Создать...

Важная информация

Находясь на нашем сайте, вы соглашаетесь на использование файлов cookie, а также с нашим положением о конфиденциальности Политика конфиденциальности и пользовательским соглашением Условия использования.