sql查询更新字段基于2个表中的值

时间:2014-05-28 03:17:42

标签: mysql sql-update

使用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

1 个答案:

答案 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
相关问题