当两个中不存在类似数据时,在一个查询中更新2个表

时间:2014-01-28 05:53:55

标签: mysql sql sql-update

我正在尝试在单个查询中更新多个表,但我使用的内容似乎没有进行任何更新。

UPDATE table1,table2 SET table1.name='John Doe',table2.name='John Doe'
WHERE table1.id=1 and table2.id = 1;

问题是,两个表中可能不存在具有相同id的行。如何在这种情况下进行更新?

在这种情况下,{1}存在于table1中,但不存在于table2中。

修改 这个想法是两个表中的更新数据,即使table1或table2中不存在id

示例:

id 1

1 个答案:

答案 0 :(得分:1)

试试这个,

UPDATE table1
       LEFT JOIN table2 
           ON table1.id = table2.id
SET    table1.name = 'John Doe',
       table2.name = 'John Doe'
WHERE  table1.id = 1