SQL批量替换列值[重复]
Posted
技术标签:
【中文标题】SQL批量替换列值[重复]【英文标题】:SQL mass replace column value [duplicate] 【发布时间】:2014-07-29 07:55:22 【问题描述】:我有一个表名为mybb_users
的数据库。
所有用户都有一个名为avatar
的字段名称。有些用户的头像设置为
http://graph.facebook.com/userid/picture?width=250&height=250.
我想将使用 facebook 图片的人的所有宽度和高度大规模替换为这样的宽度和高度。不幸的是,我不知道该怎么做,因为用户 ID 是随机的。无论如何我可以将width=250&height=250
替换为width=140&height=140
吗?
谢谢!
【问题讨论】:
我们在谈论哪个 RDBMS? mysql? 是的对不起,它的 MySQL :) 你要找的是字符串函数REPLACE。 【参考方案1】:您可以使用REPLACE
函数来做到这一点:
UPDATE mybb_users
SET avatar = REPLACE(`avatar`, 'width=250&height=250', 'width=140&height=140')
WHERE avatar like '%graph.facebook%'
更多信息请查看:http://dev.mysql.com/doc/refman/5.6/en/string-functions.html#function_replace
【讨论】:
感谢您的快速回复,这只会覆盖特定部分吗? 是的。它仅在avatar
列中将width=250&height=250
替换为width=140&height=140
太棒了,再次感谢 :)【参考方案2】:
你可以像这样只更新你想要的部分:
UPDATE mybb_users SET avatar = REPLACE(avatar, 'width=250&height=250', 'width=140&height=140')
这应该用 140 替换所有出现的 250
【讨论】:
以上是关于SQL批量替换列值[重复]的主要内容,如果未能解决你的问题,请参考以下文章