Clever. It will work, and it will do what the OP wanted. But it is not a clean solution.
this would not work if you did want to be able to set some fields to NULL
Right. And this is a good reason not to use this feature.
A second good reason to avoid this idiom is that it makes debugging more difficult. If all updates look the same, it will be harder to spot the offending one in a log file whan you're hunting for bugs.
A further good reason not to go for this solution is that you are straining the DBMS to encourage the programmer's laziness, and I am not talking of the Laziness that makes good coders.
It isn't difficult to create a query using only the fields that are needed. Why looking for trouble?