2017-02-23 30 views
-1
UPDATE table1 
SET description = 'New description' 
WHERE language_code = 'en' AND table2 default_category_id = '11' 

如何正确使用table1和table2。我只能在使用table1时解决这个问题。MySQL更新字段与两个表中的WHERE

+2

可以共享表的结构和一些样本数据之间的连接,以使这个问题更容易理解? – Mureinik

回答

1

您需要在表格之间建立关系。

update table1 
set description = 'New desc' 
where language_code = 'en' 
and some_column in (select related_column 
        from table2 
        where default_category_id = '11') 
+0

some_column和related_column是同一列吗?没有得到这个。我得到这个错误#1054 - 'IN/ALL/ANY子查询'中的未知列'default_category_id' – medgalys

+0

some_column是表1中的一列,它具有表2中的相应值(related_column),PK/FK,连接列,基础*关系数据库的概念... – JohnHC

+1

@medgalys没有你的数据库结构任何答案都可以在这里,但更具体的你需要提供你的数据库结构。 JohnHC给你的是一个关于如何去做的想法,你需要相应地替换字段 – davejal

0

尝试使用2台

update table1 t1 join table2 t2 on t1.key = t2.key 
set t1.desired_column = "value" 
where t2.desired_column = "value" 
相关问题