我需要更新数据库中的一些链接,如下所示:
<a href="http://www.domain.com.au/PDF/Rapidvite/Action_K_Salts.pdf">http://www.domain.com.au/PDF/Rapidvite/Accelerator_Oil.pdf</a>
<a href="http://www.domain.com.au/PDF/Rapidvite/Action_K_Salts.pdf">http://www.domain.com.au/PDF/Rapidvite/Accelerator_Oil.pdf</a>
我需要用&#39;查看PDF&#39;替换文字。 (没有引号)同时保持href使它们看起来像这样
<a href="http://www.domain.com.au/PDF/Rapidvite/Action_K_Salts.pdf">View PDF</a>
<a href="http://www.domain.com.au/PDF/Rapidvite/Action_K_Salts.pdf">View PDF</a>
这是我在黑暗中的疯狂刺 - 这是MySQL的新手
UPDATE `ayfryvrxb2_postmeta` SET meta_value = replace(meta_value, '.pdf">%%</a>', '.pdf">View PDF</a>"');
答案 0 :(得分:0)
试试这个适用于我的sql命令
SELECT REPLACE('<a href="http://www.domain.com.au/PDF/Rapidvite/Action_K_Salts.pdf">http://www.domain.com.au/PDF/Rapidvite/Accelerator_Oil.pdf</a>',
( SUBSTR('<a href="http://www.domain.com.au/PDF/Rapidvite/Action_K_Salts.pdf">http://www.domain.com.au/PDF/Rapidvite/Accelerator_Oil.pdf</a>',
(LOCATE('.pdf">', '<a href="http://www.domain.com.au/PDF/Rapidvite/Action_K_Salts.pdf">http://www.domain.com.au/PDF/Rapidvite/Accelerator_Oil.pdf</a>') + 6),
LOCATE('.pdf</a>', '<a href="http://www.domain.com.au/PDF/Rapidvite/Action_K_Salts.pdf">http://www.domain.com.au/PDF/Rapidvite/Accelerator_Oil.pdf</a>')) )
,'View PDF</a>'
)
FROM your_table h
但是您必须用表格列替换我的硬编码字符串<a href="http://www.domain.com.au/PDF/Rapidvite/Action_K_Salts.pdf">http://www.domain.com.au/PDF/Rapidvite/Accelerator_Oil.pdf</a>
。例如,如果您使用这些链接名称my_table_links
然后最终的sql查询就像下面的
SELECT
REPLACE(my_table_links,
( SUBSTR(my_table_links,
(LOCATE('.pdf">', my_table_links) + 6),
LOCATE('.pdf</a>', my_table_links)) )
,'View PDF</a>'
)
FROM `my_table` h
最后更新的情况将是
UPDATE `ayfryvrxb2_postmeta` SET
meta_value = REPLACE(meta_value,
( SUBSTR(meta_value,
(LOCATE('.pdf">', meta_value) + 6),
LOCATE('.pdf</a>', meta_value)) )
,'View PDF</a>'
)
where 1;
答案 1 :(得分:0)
我使用 - 并不一定是最好的方式,但是当我从概念变为现场或其他任何东西时,它适用于我的网站:
UPDATE `wp_posts` SET `post_content` = REPLACE(`post_content`, '<OLD URL'>, <'NEW URL'>;
UPDATE `wp_postmeta` SET `meta_value` = REPLACE(`meta_value`, '<OLD URL'>, <'NEW URL'>;
如果我遗漏了语法错误,请抱歉,但希望你能得到我所做的一切。如果你在自定义字段中有链接,那么第二个命令很有用,我经常使用它。