MySql查询如果Field等于不同表中的Field更新不同的字段

时间:2012-08-15 16:39:59

标签: mysql insert case

我有两张桌子。我希望在table1中的MODEL等于table2中的ITEM时更新table2中的ITEM

任何想法?

3 个答案:

答案 0 :(得分:2)

如果我理解正确,你只想在UPDATE上根据(可能是外键)执行table2

如果这是对的,这应该有效:

UPDATE
    table2
    JOIN table1
        ON table1.ITEM = table2.ITEM
SET
    MODEL = 'new value';

UPDATE语句中的表声明与SELECT语句中指定的相同 - 因此您可以使用适合您的表/数据的任何类型的JOIN。 /> UPDATESELECT的文档。

答案 1 :(得分:2)

在MySQL中,你可以这样做

UPDATE table1 t1 
           INNER JOIN table2 t2 
                ON t1.id = t2.id
SET t1.col1 = t2.col1, 
    t1.col2 = t2.col2 

答案 2 :(得分:0)

如果您可以添加可能有用的实际查询尝试或其他内容。你可以试试以下的东西:

UPDATE table2 JOIN table1 ON table2.ITEM = table1.ITEM SET MODEL = ?