2017-02-23 55 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" 
相關問題