代码之家  ›  专栏  ›  技术社区  ›  GSto

mysql:用另一个相关表中的值更新表

  •  0
  • GSto  · 技术社区  · 14 年前

    我有两个MySQL表,它们的结构如下:

    table foo(
     foo_id varchar(32),
     field1 varchar(32),
     field2 varchar(32),
     bar_id varchar(32) 
    );
    
    table bar(
      bar_id varchar(32),
      field1 varchar(32),
      field2 varchar(32)
    );
    

    我想更新 foo 表具有相同的值 field1 field2 作为 bar 表。我尝试了以下两个查询,这两个查询都运行无误,但没有得到我想要的结果:

    UPDATE foo LEFT JOIN bar ON foo.bar_id = bar.bar_id 
    SET foo.field1 = bar.field1 AND foo.field2 = bar.field2;
    

    UPDATE foo,bar SET foo.field1 = bar.field1 
    AND foo.field2 = bar.field2 WHERE foo.bar_id = bar.bar_id
    

    但两者都不起作用。我这里缺什么?

    1 回复  |  直到 13 年前
        1
  •  1
  •   Amadan    14 年前

    AND foo.field1 (bar.field1 AND foo.field2 = bar.field2) bar.field1 field2