MySQL UPDATE syntax with multiple tables using WHERE clause

后端 未结 4 1629
刺人心
刺人心 2020-11-30 12:37

Case:

How to update table1 with data from table2 where id is equal?

Problem:

When I run the following upda

相关标签:
4条回答
  • 2020-11-30 12:54
    UPDATE table1
    SET table1.value = (select table2.value 
    WHERE table2.id=table1.id)
    
    0 讨论(0)
  • 2020-11-30 13:02

    here's the correct syntax of UPDATE with join in MySQL

    UPDATE  table1 a
            INNER JOIN table2 b
                ON a.ID = b.ID
    SET     a.value = b.value 
    
    • SQLFiddle Demo
    0 讨论(0)
  • 2020-11-30 13:04

    EDIT For MySql it'll be

    UPDATE table1 t1 INNER JOIN 
           table2 t2 ON t2.id = t1.id
       SET t1.value = t2.value 
    

    sqlfiddle

    Original answer was for SQL Server

    UPDATE table1
       SET table1.value = table2.value 
      FROM table1 INNER JOIN 
           table2 ON table2.id=table1.id
    

    sqlfiddle

    0 讨论(0)
  • 2020-11-30 13:15

    You can try this:

    UPDATE TABLE1
    SET column_name = TABLE2.column_name
    FROM TABLE1, TABLE2
    WHERE TABLE1.id = TABLE2.id
    
    0 讨论(0)
提交回复
热议问题