MySQL update join with limit

后端 未结 3 2122
长情又很酷
长情又很酷 2021-02-15 06:05

I would like to know how to update a table, with values from another table, by the trick is I need to set a limit because I have thousands of rows to update, and PHPmyadmin can\

3条回答
  •  陌清茗
    陌清茗 (楼主)
    2021-02-15 06:21

    It's rather unconventional , but it should help you in a pinch

    SET @tmp_c = 0;
    UPDATE
        table1
    INNER JOIN table2 ON table1.id = table2.id
    INNER JOIN table3 ON table2.id = table3.id
    SET
        table1.remove_date = NOW() - INTERVAL 5 MONTH
    WHERE
        table1.active = 1
    AND
        (IF (table1.active = 1, @tmp_c := @tmp_c + 1 , 0 )) //This is to only increment the counter if the whole where matches
    AND
        @tmp_c <= 15 //Start ignoring row items as soon as it exceeds the limit amount
    

提交回复
热议问题