Trata de no usar vacíos para controlar los NULL. No son lo mismo.
La sentencia anterior, tal como la escribiste originalmente, invocando los campos en forma específica es mucho más segura.
Me explico un detalle: Un '' significa
caracter vacío, que
es un dato real, pero NULL es un
no dato, es un puntero a la nada y no es un objeto real, sino un estado. Poner '' en lugar de NULL, puede dar lugar a parseos erróneos que no son fáciles de detectar.
Es mucho más simple omitir el campo o poner NULL, así:
De todos modos, yo siempre prefiero la forma