我有一个WordPress网站,在主题改变后,我必须修改大约50页上存在的1000个链接的 struct .我想通过PHPMYADMIN用SQL做这件事.

在SQL中,有没有一种方法可以删除我所有具有以下 struct 的链接的结尾:

- <a href="https://website.com/cours/les-problemes/lecon/s1-2014-2015-mathematiques-les-problemes/">
- <a href="https://website.com/cours/la-division/lecon/s3-2014-2015-mathematiques-la-division-n-nakatani/">
- <a href="https://website.com/cours/mathematiques-larithmetique/lecon/201819-s5-fa-mathematiques-nathalie-nakatani/">

为了只得到:

- <a href="https://website.com/cours/les-problemes/">
- <a href="https://website.com/cours/la-division/">
- <a href="https://website.com/cours/mathematiques-larithmetique/">

我试着用这个话题的答案:MYSQL Replace string between two known strings,但我没有设法找到一个符合我目的的解决方案.

我也考虑过分两部分来做: 1-删除‘/lecon/’和‘">’之间的内容. 2-然后完全删除My Pages‘/lecon/’的所有迭代,因为它们只出现在我想要编辑的链接上. 但我的SQL知识有限,我不知道如何做第一部分.

我为我的英语道歉.

非常感谢您的帮助!

推荐答案

在MySQL8+上,我们可以try 使用正则表达式替代:

SELECT
    tag,
    REGEXP_REPLACE(tag, '(<a href="https?://(?:[^/]+/){3}).*">', '$1">')
FROM yourTable;

演示

Mysql相关问答推荐

MySQL 8.0.28覆盖(和函数)索引未使用

配置MySQL服务器以管理数千个表

S在我的SQL代码中的外键出了什么问题?

含有子查询的MySQL函数出现语法错误

Mysql:使用like Select 查询

SQL:如何 Select 每个客户最后购买的产品?

SQL查询连接到多个类别的项目

使用Workbench时如何添加mysqldump配置标志

我可以在姓名和姓名日期之间进行搜索吗?

在MySQL查询中查找和替换表内的值

如何更新一个巨大的表的 50k 行?

MySQL如何将字符串列表与子查询进行比较

如何在Pandas 中使用 to_sql

插入二进制数据会导致Data too long for column...

MySQL:从 n 个关系表中 Select 所有具有 MAX() 值的行

有没有更好的方法在无限滚动的网页上呈现获取的提要数据?

结果差异(MySQL 5.7 vs MySQL 8.0)

MySQL - 表'my_table'没有被锁定表锁定

启用 NO_BACKSLASH_ESCAPES 选项时如何转义文字百分号?

在osx的命令行中使用Mysql-找不到命令?