Updating lots of database fields in a single row
William Blunn
bill+london.pm at blunn.org
Wed Jan 23 10:05:43 GMT 2013
On 23/01/2013 09:52, Mark Overmeer wrote:
> * Ruud H.G. van Tol (rvtol at isolution.nl) [130123 09:45]:
>> On 2013-01-23 10:27, William Blunn wrote:
>>> my @fields_to_update = grep { $hash->{$_} } @fields;
>> Be aware that it skips any false value, like undef, '', '0', 0.
> my @fields_to_update = grep defined $hash->{$_}, @fields;
>
> But that's is probably not true either: after the $hash was read from
> the database, logic may have cleared some of these fields. The
> clearing itself usually needs to be moved into the database as well...
> undef fields need to be set to NULL.
Using
exists $hash->{$_}
would mean that undef values in %$hash were included, which would result
in NULL being set in the corresponding database columns, which could be
a useful approach for the OP.
Regards,
Bill
More information about the london.pm
mailing list