我想要一个MySQL查询来查找和替换wordpress数据库中的关键字。并希望保持slu unique独特。例如:如果wp_terms
表中有3个slu :::
testkeyword
testkeyword-2
testslg
现在我想用slg
替换关键字keyword
并将更新查询作为
update wp_terms set `slug` = replace(slug, 'slg','keyword')
现在第三个slu testslg
将成为testkeyword
,并且它不会保持唯一,因为第一个slug与第三个slug相同。
如果一个列已经存在,我如何在slug的末尾添加一个数字?
在这个例子中,我希望第三个slug为testkeyword-3
。这怎么可能?
答案 0 :(得分:0)
在开始时获取新组建的关键字的初始计数。假设您要使用以下语句
替换您的第三个关键字,即testlg和test关键字$newkeyword = str_replace("slg","keyword","testslg");
现在,使用以下查询获取此新关键字的计数
SELECT count(slug) FROM wp_terms WHERE slug like '%$newkeyword%';
在更新查询中使用此计数
update wp_terms set `slug` = '$newkeyword-$above_query_count_result' WHERE row_unique_id;
注意:这个答案只是逻辑,请在PHP代码中包含所有连接。