Удалить строку, если строка найдена в каких-либо столбцах - PullRequest
0 голосов
/ 16 января 2011

Моя база данных комментариев была забита более чем 11 000 записей спама.Я пытаюсь придумать способ удалить любую запись с определенным словом в ней.На каждую запись приходится около 12 столбцов, и я хочу выполнить поиск по всем этим столбцам, и, если есть какие-либо из «ключевых слов», удалить эту строку.Примерно так:

$sql = "DELETE FROM comments WHERE colum1, column2, column3 = has the substring xanaxs;"

Пожалуйста, помогите, чтобы мне не пришлось удалять 11 000 строк.

Ответы [ 3 ]

4 голосов
/ 16 января 2011

Вы можете объединить все столбцы вместе:

$sql = "DELETE FROM comments WHERE concat(column1,column2,column3) like "%xanaxs%";
1 голос
/ 16 января 2011

С точки зрения строгого SQL, вам придется делать это один за другим, например: DELETE FROM comments WHERE column1 LIKE '%first_string%'

Однако, поскольку вы находитесь в PHP, вы можете зациклить его для каждого столбца и ключевого слова.До тех пор, пока вы помещаете каждый в массив.

0 голосов
/ 16 января 2011

попробуйте это:

"DELETE FROM comments WHERE CONCAT_WS(colum1,column2,column3) LIKE '%xanaxs%'"
...