Hola tumbero_x:
Tienes dos opciones, la primera sería enviar la palabra NULL cuando la variable venga vacía, o listar sólo los campos que tienen valor, checa este script, observa que la tabla tiene tres campos:
Código MySQL:
Ver originalQuery OK, 0 rows affected (0.12 sec)
este sería un insert normal, cuando todos los campos tienen valor:
Código MySQL:
Ver originalQuery OK, 1 row affected, 1 warning (0.06 sec)
Ahora bien, si los campos 2 y 3 no tienen valor, tienes distintas opciones para hacer el insert.
Colocando NULL:
Código MySQL:
Ver originalQuery OK, 1 row affected (0.06 sec)
Listando sólo los campos que tienen valor:
Código MySQL:
Ver originalQuery OK, 1 row affected (0.02 sec)
Query OK, 1 row affected (0.03 sec)
De esta manera los campos quedan con un valor vacío.
Código MySQL:
Ver original+------+--------+--------+--------+
| id | campo1 | campo2 | campo3 |
+------+--------+--------+--------+
| 1 | uno | 10 | 9 |
+------+--------+--------+--------+
Saludos
Leo.