我有一个关键字列,它包含这样的内容:
苹果,桔子,松子苹果
我试图使用此查询将空格更改为连字符“
UPDATE articles SET keywords = REPLACE(keywords," ","-") WHERE
keywords REGEXP '[A-Z] [A-Z]' limit 1;
但在我不想要的地方增加了连字符,就像这样:
苹果,-oranges,-松子苹果
这能用REGEXP完成吗?或者我需要涉及PHP吗?
谢谢。
发布于 2016-01-29 03:55:52
您是根据正则表达式来选择行的,但是REPLACE()
是如何知道的呢?它会用连字符代替空格,就像你说的那样。
在MySQL中添加基于regexp的搜索和替换有几个选项,例如UDF和MariaDB本机支持它。。
UPDATE articles SET keywords = REGEXP_REPLACE(keywords, "[A-Z] [A-Z]", "-");
还值得一提的是,没有LIMIT
子句的ORDER BY
子句没有多大帮助。
https://stackoverflow.com/questions/35075198
复制相似问题