Hello,
I personnally would use another table (with the same structure as the first one). Instead of your updates, you would do :
Insert into support_test_temp(cat_id, field2, field3) select 42, field2, field3 from support_test where support_test.cat_id=4;
... and so on for each change.
Then :
commit;
delete from support_test;
Insert into support_test select * from support_test_temp;
commit;
And finally get rid of the temp table :
drop table support_test_temp;
Regards,
RBARAER