我的评论数据库刚刚遭到超过11,000个垃圾邮件条目的攻击。我试图想办法删除任何带有特定单词的条目。每个条目大约有12列,我想搜索所有这些列,如果有任何“关键字”,那么删除该行。类似的东西:
$sql = "DELETE FROM comments WHERE colum1, column2, column3 = has the substring xanaxs;"
请帮忙,所以我不必删除11,000行。
答案 0 :(得分:4)
您可以将所有列连接在一起:
$sql = "DELETE FROM comments WHERE concat(column1,column2,column3) like "%xanaxs%";
答案 1 :(得分:1)
从严格的SQL角度来看,您必须逐个执行此操作,如:DELETE FROM comments WHERE column1 LIKE '%first_string%'
但是,由于您使用的是PHP,因此只要将每个列放在一个数组中,就可以按列和关键字循环它。
答案 2 :(得分:0)
这是:
"DELETE FROM comments WHERE CONCAT_WS(colum1,column2,column3) LIKE '%xanaxs%'"