Mysql updating field of main table from temporary table

Sometimes you will be needing to update the same field in the same table. However, in this case Mysql does not allow to reference the same table in both outer and inner select queries.

So, came up with following steps

Step 1:
Creating a temporary table which will be deleted later with those rows from main table.
CREATE TABLE IF NOT EXISTS tbl_temp SELECT * FROM tbl_main WHERE field_id = 53

Step: 2
Referencing that temporary table in the inner select   
UPDATE `tbl_main` SET `field_id`= 56 WHERE id in ( select id from tbl_temp where field_id = 53 )

Step: 3
Droping the temporary table
DROP TABLE tbl_temp