mysql 用替换更新列值

标签 mysql

我的一个表包含存储 URL 示例的列路径:\xyz\attachments、\abc\attachments 等,总共我有 16 种组合可供替换

我通过在 where 子句“abc|xyz|”中使用 rlike 找到了行

必须用 xxx 更新 xyz,或者用 yyyy 更新 abc

我不知道如何更新这部分列的值。是否可以使用单个查询,或者我必须编写 16 个查询才能做到这一点?请在此指教

最佳答案

这并不可靠,但可行。基本上是嵌套的 replace() 调用:

UPDATE ... 
SET yourfield = REPLACE(REPLACE(yourfield, '\\xyz', 'newtext'), '\\abc', 'othertext')

请注意,如果 xyzabc 可以出现在任一字符串的多个位置,您最终可能会替换不应该出现的内容。

关于mysql 用替换更新列值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30812801/

相关文章:

mysql - 如何将 datediff 和 curdate() 从 MySql 转换为 PostgreSQL

php - Codeigniter 的数据库错误

php - MySQL 在删除后继续添加 2 个额外的行!

mysql - 如何在 Fat-Free Framework 中插入没有主键的多条记录

php - laravel 5 搜索多个字段

java - Hibernate多对一关系注释

PHP Mysql If 语句不起作用

mysql - GROUP BY MONTH 给出错误的结果

php - 使用 PHP 和 MySQL 从数据库中删除单个行

尝试 "translate"MsSQL 到 MySQL 时出现 MySQL 错误