【问题标题】:SQL mass replace column value [duplicate]SQL批量替换列值[重复]
【发布时间】: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

标签: mysql sql


【解决方案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

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2020-01-17
    • 2021-09-10
    • 2018-07-28
    • 2020-10-17
    • 2017-01-05
    • 2015-08-27
    • 2015-05-09
    相关资源
    最近更新 更多