我想用其他东西替换列字段的某个部分。唯一的问题是我尝试过的东西不起作用。我正在使用HeidiSQL
这是数据库的概述: Database Overview
我想做的是每个 user_id field_id 523 我想替换'centraal-zorgportaal.nl / afbeeldingen /' with '/ profiles /(对于每个用户ID)/'。
因此运行查询后的最终结果示例如下所示: '/ profiles / 711 / logo.gif',但是每个用户都有一个不同的logo.gif。
注意:不能发布两个以上的链接,因此删除了前面的http等。
这是我尝试过但不起作用的查询:
update wp_bp_xprofile_data
set value = replace( value,
'http://www.centraal-zorgportaal.nl/afbeeldingen/',
'/profiles/' +
(select user_id
from wp_bp_xprofile_data
where user_id = @n := @n + 1 n) +
'/')
where field_id = 523
(表名为:wp_bp_xprofile_data)
这是我收到的错误消息: Error message:
有人可以解释为什么这不起作用,如何解决它以及解决这个问题的最佳方法?
答案 0 :(得分:0)
在MySQL / MariaDB中,您无法引用正在修改的表。根据您的描述,您似乎想要这样的东西:
update wp_bp_xprofile_data
set value = replace(value,
'http://www.centraal-zorgportaal.nl/afbeeldingen/',
concat('/profiles/', user_id, '/')
)
where field_id = 523;