Нужна помощь! MySQL вернула пустой результат (т.е. ноль строк).

BadBoy
На сайте с 31.01.2005
Offline
291
7525

Приветствую.

Есть БД, в ней куча спама, занимаюсь чисткой через phpmyadmin.

Проблема заключается в следующем.

Когда я забиваю в поиск определенную спамную фразу, и админка находит немного результатов, то удаление проходит нормально.

Но когда находится очень много результатов (около 50к и больше), то вместо удаления админка выдает "MySQL вернула пустой результат (т.е. ноль строк). ( запрос занял 0.0002 сек. )", почему так? с чем это связано?

Как можно удалить все результаты из поиска?

Вылавливать результаты спама по 5-50 запросов это не вариант, учитывай что составленный запрос нашел почти все что надо удалить.

Буду благодарен подробным ответам.

R
На сайте с 13.06.2012
Offline
1
#1

запрос покажи и EXPLAIN запроса покажи тоже.

BadBoy
На сайте с 31.01.2005
Offline
291
#2
r3al:
запрос покажи

я пользуюсь кнопкой "поиск" там вбиваю то что надо найти и выбираю таблицы

r3al:
EXPLAIN запроса покажи тоже.

не знаю что это

---------- Добавлено 13.06.2012 в 14:10 ----------

заметил что когда ищешь по одному слову, то удаление проходит нормально, когда по двум словам и более, через пробел, то нет ...

Пытался ставить

  • любое из слов
  • все слова
  • точное соответствие

не помогает

S5
На сайте с 04.01.2010
Offline
77
#3

DELETE FROM cms_blabla WHERE post LIKE '%text%' пробовали?

BadBoy
На сайте с 31.01.2005
Offline
291
#4
sg552:
пробовали?

нет, много разных слов, поэтому и использую именно поиск чтобы разом найти во всех таблицах где могут быть искомые слова.

---------- Добавлено 13.06.2012 в 14:20 ----------

ну вот один из запросов, который прошел

DELETE FROM `database`.`se_groupcomments` WHERE (CONVERT(`groupcomment_id` USING utf8) LIKE '%ГҐГ*ГЁГї%' OR CONVERT(`groupcomment_group_id` USING utf8) LIKE '%ГҐГ*ГЁГї%' OR CONVERT(`groupcomment_authoruser_id` USING utf8) LIKE '%ГҐГ*ГЁГї%' OR CONVERT(`groupcomment_date` USING utf8) LIKE '%ГҐГ*ГЁГї%' OR CONVERT(`groupcomment_body` USING utf8) LIKE '%ГҐГ*ГЁГї%')
R
На сайте с 13.06.2012
Offline
1
#5

что бы избавится от convert using, установите сразу соединение с базой в нужной кодировке, и запрос который приведен выше замножаете под каджое слово. Кадый раз это будет довольно муторно делать, поэтому попроще было бы скрипт написать и вбивать в него только нужные слова, жать кнопочку, а он бы удалял.

BadBoy
На сайте с 31.01.2005
Offline
291
#6

Вроде получается искать, если использовать следующее.

В сроке запроса писать - %запрос запрос%

и помечать - точное соответствие

R
На сайте с 13.06.2012
Offline
1
#7

SELECT * REGEXP "^(слово|слово2|слово3)$" - попробуй ну и если получится, то DELETE по аналогии

Милованов Ю.С
На сайте с 24.01.2008
Offline
196
#8

ТС, после этого варианта с регЭкспами напишите плиз о результатах. Интересно, насколько сильно регЭкспы будут медленей лайков.

Если не затруднит - напишите время потраченное на запрос DELETE 50к записей через регЭкспы. ЛС или в теме. Буду признаетелен.

Подпись))

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