Aqui está uma maneira:
select id, ((var1 is null) + (var2 is null) + (var3 is null)) as var4
from table t;
MySQL trata booleanos como inteiros, sendo true
1
e false sendo 0
. Você pode apenas adicioná-los para obter o total. Como atualização:
update table t
set var4 = ((var1 is null) + (var2 is null) + (var3 is null));
Como nota, o MySQL não suporta
ISNULL()
. Isso é mais uma função do SQL Server. Mas não é padrão ANSI de qualquer maneira, então você geralmente é melhor usar coalesce()
.