数据库是mysql,在宝塔后台phpmyadmin那边执行操作的。
需求:在表一中,字段1中,其中的字符串,aaa.com/picture/2020/11/(这里的年份和月份不是固定的)替换成bbb.com/picture/2020/10/(这里的年份和月份是固定的)
补充:试过了普通的update表名set字段名=replace(字段名,"aaa.com/picture/%/%/","bbb.com/picture/2020/10/"),不行,replace不能用通配符。
-----------------------------------------------------
网友回复:
如果你的mysql版本较高,可以用regexp_replace,这个可以正则匹配。
网友回复:
引用:baiyangz1发表于2020-11-509:13
数据库是sql,在宝塔后台phpmyadmin那边执行操作的。
网友回复:
引用:l516q发表于2020-11-509:11
什么数据库,几十种呢
网友回复:
先备份再试
update表名set字段名=bbb.com/picture/2020/10/where字段名regexpaaa.com/picture/[[:digit:]]{4}/[[:digit:]]{2}/
参考https://blog.csdn.net/vvhesj/article/details/22299413
网友回复:
数据量不多的话,实在不行就随便找个语言写个脚本,数据分批取出来,修改完再丢回去
网友回复:
引用:论坛大师发表于2020-11-509:26
phpmyadmin是不支持sql数据库的,你需要这个https://www.microsoft.com/zh-cn/sql-server/sql-server-do...
网友回复:
你直接用pma的替换功能,生成语句就可以。可以用通配符
网友回复:
引用:baiyangz1发表于2020-11-509:28
搞错了,是mysql,我不是很懂这些
网友回复:
先备份
UPDATE表名SET字段名=bbb.com/picture/2020/10/WHERE字段名LIKEaaa.com/picture/%/%/;
这样可以吗
网友回复:
知识错误了
这种基础问题直接搜索一下即可
问反而耗费时间
网友回复:
update表名
set字段名
="bbb.com/picture/2020/10/"where字段名
regexp"aaa.com/picture/[0-9]+/[0-9]+/"
网友回复:
引用:傍晚升起的太阳发表于2020-11-509:27
数据量不多的话,实在不行就随便找个语言写个脚本,数据分批取出来,修改完再丢回去...
网友回复:
引用:xnlebb发表于2020-11-509:25
先备份再试
update表名set字段名=bbb.com/picture/2020/10/where字段名regexpaaa.com/picture/[[...
网友回复:
引用:论坛大师发表于2020-11-509:30
MySQL就说MySQL,SQL是指微软公司的ServerSQL
网友回复:
引用:baiyangz1发表于2020-11-509:50
感谢哈,但是这样会把整个字段变成bbb.com/picture/2020/10/,里面其实还有很多其他内容。...
网友回复:
你使用update语句的时候where条件内直接字段likeaaa.com/picture/%不就好了
网友回复:
引用:class发表于2020-11-509:53
微软公司的ServerSQL 是 mssql
网友回复:
引用:baiyangz1发表于2020-11-509:50
感谢哈,但是这样会把整个字段变成bbb.com/picture/2020/10/,里面其实还有很多其他内容。...
网友回复:
如果你的mysql版本较高,可以用regexp_replace,这个可以正则匹配。
网友回复:
引用:xnlebb发表于2020-11-510:41
update表名set字段名=regexp_replace(字段名,aaa.com/picture/[[:digit:]]{4}/[[:digit:]]{2}/,b...