关于在MYSQL中批量替换或者删除某字符串的命令
各位高手,请教一个问题。我写了一个MYSQL命令,但不知道对不对,帮忙看看。我是要把ex_goods表中的big_pic字段名中的http://www.finerbuy....
各位高手,请教一个问题。我写了一个MYSQL命令,但不知道对不对,帮忙看看。
我是要把ex_goods表中的big_pic字段名中的http://www.finerbuy.com/pic.php?p=http:// 替换成http://。
命令是:
UPDATE `ex_goods`
SET `big_pic` = REPLACE(`big_pic`,'http://www.finerbuy.com/pic.php?p=http://', 'http://')
WHERE INSTR(`big_pic','http://www.finerbuy.com/pic.php?p=http://') < 0
请问我这样写对不对?
还有就是表名,字段名是否需要用引号引起来?
是批量替换或者删除big_pic字段的值,
不是改数据库结构
------------------------
UPDATE `ex_goods` SET `big_pic` = 'http://' WHERE `big_pic` = 'http://www.finerbuy.com/pic.php?p=http://';
运行了,但结果是“影响了0行”
怎么会这样呢 展开
我是要把ex_goods表中的big_pic字段名中的http://www.finerbuy.com/pic.php?p=http:// 替换成http://。
命令是:
UPDATE `ex_goods`
SET `big_pic` = REPLACE(`big_pic`,'http://www.finerbuy.com/pic.php?p=http://', 'http://')
WHERE INSTR(`big_pic','http://www.finerbuy.com/pic.php?p=http://') < 0
请问我这样写对不对?
还有就是表名,字段名是否需要用引号引起来?
是批量替换或者删除big_pic字段的值,
不是改数据库结构
------------------------
UPDATE `ex_goods` SET `big_pic` = 'http://' WHERE `big_pic` = 'http://www.finerbuy.com/pic.php?p=http://';
运行了,但结果是“影响了0行”
怎么会这样呢 展开
展开全部
1. 你这样写对不对测试一下不就行了。另外不需要使用 where 语句,用 replace 如果没有这个字符串不就不替换嘛,还多查一次影响效率
2. 表名字段名如果不是关键字(比如 select where from group 这样的)就不需要引起来。另外,这个“引号”叫“反引号”
2. 表名字段名如果不是关键字(比如 select where from group 这样的)就不需要引起来。另外,这个“引号”叫“反引号”
追问
谢谢指导,但我是门外汉,您是否可以帮忙直接写出这个命令,我折腾一上午了
好像大家答案都不一样
追答
1就这样呀:
UPDATE `ex_goods`
SET `big_pic` = REPLACE(`big_pic`, 'http://www.finerbuy.com/pic.php?p=http://', 'http://')。
当然,我只是根据你的描述认为你是要达到这样的效果,有可能我理解有误或你描述有误可能造成结果是错的,所以建议你做一个测试表来测试这个语句。
比如你可以 create table ex_goods_bak select * from ex_goods; 这样就做了原表的一个备份,就不怕弄坏数据了。
展开全部
你的问题里面怎么还穿插了一些http地址呢,所以你的问题我不是很理解。但是我觉得你这句话是不对的,因为你要修改表的字段名,也就是表结构,要用alter,而update是用来更新数据的,很明显不能用来修改字段名的。
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
再加个条件只选择一条记录 试试不就知道了啊?
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
UPDATE `ex_goods` SET `big_pic` = 'http://' WHERE `big_pic` = 'http://www.finerbuy.com/pic.php?p=http://'
就可以了
不加引号也行,我习惯加,因为语法着色器有时候会把user这种表名着色,加引号就可以区分开
就可以了
不加引号也行,我习惯加,因为语法着色器有时候会把user这种表名着色,加引号就可以区分开
更多追问追答
追问
这么简单?
不会有问题吧?
你确定?
因为我一旦执行了,出错就麻烦了
追答
你是不是要把big_pic这一列数值中的http://www.finerbuy.com/pic.php?p=http://替换成http://?是的话就没错,就是这么简单
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询