我需要通过添加 - SEO
字词为网站创建唯一的distinct
字词。
我试过了查询
UPDATE url_alias SET `keyword = (SELECT DISTINCT CONCAT( keyword, '-' ));
但是此查询会将-
添加到所有单词中。这个查询有什么问题?
示例:单词是Acer,Acer,Acer-,Apple,Apple,Apple-这些应该是Acer,Acer-,Acer--,Apple,Apple-,Apple -
here中的表格示例。
答案 0 :(得分:0)
试试这个
UPDATE url_alias U1 SET keyword =
(SELECT CONCAT( keyword, '-' ) from url_alias group by keyword) U2
where U2.id=U1.id;
答案 1 :(得分:0)
尝试:
CREATE TEMPORARY TABLE TSEL SELECT keyword FROM url_alias GROUP BY keyword HAVING COUNT(keyword) = 1;
UPDATE url_alias SET keyword = CONCAT( keyword, '-' ) WHERE keyword IN (SELECT keyword FROM TSEL);
这是:
会话结束后,TSEL将自动删除。不过您可以使用以下方法明确删除它:
DROP TABLE TSEL;
修改强> 如果你想忽略大小写以及已插入的情况' - '字符,当计算更新候选者的时间到来时,您必须将关键字标准化。在这种情况下,您的新SQL应该是:
CREATE TEMPORARY TABLE TSEL SELECT UCASE(TRIM( BOTH '-' FROM keyword)) AS keyword FROM url_alias GROUP BY UCASE(TRIM( BOTH '-' FROM keyword)) HAVING COUNT(1) = 1;
UPDATE url_alias SET keyword = CONCAT( keyword, '-' ) WHERE UCASE(TRIM( BOTH '-' FROM keyword)) IN (SELECT keyword FROM TSEL);
如果你考虑" Acer"和"宏碁 - "与众不同:
CREATE TABLE TSEL SELECT UCASE(keyword) AS keyword FROM url_alias GROUP BY UCASE(keyword) HAVING COUNT(1) = 1;
UPDATE url_alias SET keyword = CONCAT( keyword, '-' ) WHERE UCASE(keyword) IN (SELECT keyword FROM TSEL);
答案 2 :(得分:0)
UPDATE url_alias SET `keyword` = `keyword` + '-'
答案 3 :(得分:0)
我需要通过添加 - 为不同的网站创建独特的SEO词 话。 ... 的
但是此查询会添加 - 所有单词。这个查询出了什么问题?
您可以使用WHERE
条件过滤并将值设置为特定事件。
示例:
UPDATE url_alias SET keyword = CONCAT( keyword, '-' )
where keyword = ?
根据需要更改where条件以匹配事件并执行。