Categories: Development

MySQL UPDATE from a SELECT WHERE query

How to do a MySQL table UPDATE from a SELECT WHERE query.

A handy command which uses JOIN inside an UPDATE.

This command will update the status table and set level = 1 where uid has between 1 and 9 posts in the users table.

UPDATE `status` t1
    JOIN
    (
        SELECT `uid`
        FROM `users`
        WHERE `posts` >= 1
          AND `posts` < 10
    ) t2
    ON t1.uid = t2.uid
SET t1.level = 1;

This type of MySQL query is greater when you need to do a mass update but don’t want to use a backend language like PHP to combine a select loop with an update query.

 

Share
Tags: How toMYSQL

Recent Posts

Kennington reservoir drained drone images

A drained and empty Kennington reservoir images from a drone in early July 2024. The…

2 years ago

Merrimu Reservoir drone images

Merrimu Reservoir from drone. Click images to view larger.

2 years ago

Early September spring shots

Some early September spring shots from a bushwalk, It is still too early for wildflowers.

3 years ago

Cloning an NVMe to SK Hynix Platinum P41 NVMe

I recently needed to clone over a smaller NVMe to a 2TB SK Hynix Platinum…

3 years ago

Using Laravel’s deleteDirectory to delete folders and their contents

If you ever needed a simple solution in Laravel to delete an entire directory and…

3 years ago

How to allow only 1 user to register in a Laravel application

How to enforce only one user to register or be registered in a Laravel web…

3 years ago