2012-02-25 89 views
0

我试图用一个简单的空间替换 的所有实例除了DIV标记包围外。我试着在替换查询中修改NOT REGEXP和NOT RLIKE,如下所示:MySQL:使用正则表达式进行批量替换?

UPDATE table SET column = replace(column,NOT REGEXP '>&#160;<',' '); 

但它给出了语法错误。任何人有任何建议?

回答

1

如何三个单独的更新...

  1. UPDATE table SET column = replace(column, '>&#160;<', '%%LOL$$');
  2. UPDATE table SET column = replace(column, '&#160;', ' ');
  3. UPDATE table SET column = replace(column, '%%LOL$$', '>&#160;<');
+0

这一个做了诡计,谢谢! – 2012-02-25 15:21:02

0

像这样的东西应该工作:

UPDATE table SET column = REPLACE(column, '&#160;', ' ') WHERE column NOT LIKE '%div>&#160;</%' 
+0

我想这一个它说有8千多行受到影响,当我进去看看其中一个时,它们看起来和以前一样。 * eek *大声笑 – 2012-02-25 15:16:57