使用mysql 5.5.36
我试图根据2个条件更新table1中field1的值 - table1 field2 = valuex,table2 field3 = value-y。
我知道我可以根据同一个表中的字段值更新字段值...
UPDATE table
SET field1 = new-value
WHERE field2 = value-x;
我可以使用它在2个不同的表中基于2个不同的值进行更新吗?
UPDATE table1
SET field1 = new-value
WHERE field2 = value-x;
FROM table2
WHERE field3 = value-y;
也许我需要更加文字化。这些是实际的表名,字段名和条件。我之前没有尝试更新2个链接表中的数据...所以这对我来说是一个很好的练习。
我正在更新表qkt6v_propmid
,字段catid为value = 12。
条件是:
qkt6v_iproperty stype value = 1
qkt6v_propmid propid value = qkt6v_iproperty id value(这是表之间的公共ID)。在下面的数据中,它是ID 3044。
qkt6v_propmid catid = 2
这是实际表格/字段如何分解......
TABLE qkt6v_iproperty
id stype
3044 1
3045 4
表qkt6v_propmid
id prop_id cat_id
7968 3044 0
7969 3044 2
答案 0 :(得分:0)
试试这个:
UPDATE table1,table2 SET table1.field1 = new-value WHERE table1.field2 = value-x AND table2.field3 = value-y and table1.ID = table2.ID
这将更新包含字段 field1 的table1,并通过 table1.ID 和 table2.ID
链接table1和table2