如果父表记录满足条件,则更改子表中的值

时间:2016-01-08 14:03:54

标签: mysql sql

如果我有一张桌子

parent_table {ID,code} 

2列。 ID - 主键

childe_table {ID,parent_table_ID, Name} 

3列。 parent_table_id是外键

我正在尝试创建查询来执行此操作:

if(parent_table.code == 'x'){
    child_table.Name == 'value'
}

我知道我应该使用连接来做到这一点。 有人能告诉我一个例子吗?

2 个答案:

答案 0 :(得分:1)

看看this answer。你需要做

 UPDATE childe_table ct 
   JOIN parent_table pt ON ct.parent_table_id = pt.id  
   SET ct.code="value"
   WHERE pt.code='x'

答案 1 :(得分:0)

试试这个

update childe_table c 
set c.Name="value" 
where (select p.code from parent_table p where p.id=c.parent_table_id)="x"