mercredi 23 novembre 2016

Mysql update fields only if both fields are null at once

I have something like this, update gender with value from $gender variable if the current db value is NULL, otherwise leave default gender value:

UPDATE gender=IF(gender IS NULL, $gender, gender), 

But how do I update both gender and full_name IF both of them are NULL ?

UPDATE 
gender=IF(gender IS NULL AND full_name IS NULL, $gender, gender),
full_name=IF(gender IS NULL AND full_name IS NULL, $full_name, full_name),

Test on line 2 fails because on line 1 gender is already filled (or so I understand);

So how to fix this second code sample ? Does it work something like this ?

UPDATE IF(gender IS NULL AND full_name IS NULL, gender=$gender; full_name=$full_name)

Aucun commentaire:

Enregistrer un commentaire