MySQL update select结果

场景

更新以AA_开头的数据结果集,使其本身数据变更。
比如说表是这样的

id title content
1 AA_ HELLO
2 AA_ WORLD
3 AB_ Zunmx
4 AC_ MySQL
5 AA_ Lab
6 BB_ HaHaHa~

我最终想要让这张表编程这样

id title content
1 zunmx_ HELLO
2 zunmx_ WORLD
3 AB_ Zunmx
4 AC_ MySQL
5 zunmx_ Lab
6 BB_ HaHaHa~

SQL

1

UPDATE t2t a
inner join(
select id,title from t2t where title like 'AA_%'
)b ON a.id = b.id
set a.title = 'zunmx_'

2
3

如果需要借用原来的结果,则需要吧set中的'zunmx_'放到b表中(也就是临时表),正如下段SQL中的期望结果,
比如说需要截取一部分,删除前几个字符,替换操作等等吧。

UPDATE 源表 
INNER JOIN (
    SELECT
        id,
        要修改的字段,
        期望结果  as new
    FROM
        源表
    WHERE
        条件
        AND `要修改的字段` LIKE '匹配规则' 
    ) 临时表 ON 原表.id = 临时表.id 
    SET 源表.要修改的字段 = 临时表.new

评论 0

还没有评论,来说点什么吧。

提交后需要审核才会公开。