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…

1 year ago

Merrimu Reservoir drone images

Merrimu Reservoir from drone. Click images to view larger.

1 year ago

FTP getting array of file details such as size using PHP

Using FTP and PHP to get an array of file details such as size and…

2 years ago

Creating Laravel form requests

Creating and using Laravel form requests to create cleaner code, separation and reusability for your…

2 years ago

Improving the default Laravel login and register views

Improving the default Laravel login and register views in such a simple manner but making…

2 years ago

Laravel validation for checking if value exists in the database

Laravel validation for checking if a field value exists in the database. The validation rule…

2 years ago