Tema: Fechas null
Ver Mensaje Individual
  #5 (permalink)  
Antiguo 27/09/2011, 08:48
leonardo_josue
Colaborador
 
Fecha de Ingreso: enero-2007
Ubicación: México
Mensajes: 2.097
Antigüedad: 17 años, 3 meses
Puntos: 447
Respuesta: Fechas null

Hola de nuevo pabloccontresas:

La opción del compañero AndresdzPHP es una de las diferentes opciones que tienes para hacer el insert, de hecho, los tres tipos de inserción que te puse en el primer post funcionan:

Código MySQL:
Ver original
  1. mysql> CREATE TABLE IF NOT EXISTS `entrada_insum` (
  2.     ->   `id` INT(255) NOT NULL AUTO_INCREMENT,
  3.     ->   `fecha_vencimiento` DATE DEFAULT NULL,
  4.     ->   `nombre_insumo` VARCHAR(150) COLLATE utf8_spanish2_ci NOT NULL,
  5.     ->   `cantidad` INT(100) NOT NULL,
  6.     ->   `presentacion` VARCHAR(100) COLLATE utf8_spanish2_ci NOT NULL,
  7.     ->   PRIMARY KEY (`id`)
  8.     -> ) ENGINE=MYISAM  DEFAULT CHARSET=utf8 COLLATE=utf8_spanish2_ci;
  9. Query OK, 0 rows affected (0.06 sec)
  10.  
  11. mysql> #Listando los campos, excepto la fecha (Propuesta de Andresdzphp)
  12. mysql> INSERT INTO `entrada_insum`
  13.     -> (nombre_insumo, cantidad, presentacion)
  14.     -> VALUES ('uno', 1, 'presentacion 1');
  15. Query OK, 1 row affected (0.00 sec)
  16.  
  17. mysql> #Listando los campos y enviando NULL (Tal como lo tienes)
  18. mysql> INSERT INTO `entrada_insum`
  19.     -> (fecha_vencimiento, nombre_insumo, cantidad, presentacion)
  20.     -> VALUES (NULL, 'dos', 1, 'presentacion 2');
  21. Query OK, 1 row affected (0.00 sec)
  22.  
  23. mysql> #Sin Listar los campos enviando null
  24. mysql> INSERT INTO `entrada_insum`
  25.     -> VALUES (NULL, 'tres', 1, 'presentacion 3');
  26. Query OK, 1 row affected (0.00 sec)
  27.  
  28. mysql> SELECT * FROM `entrada_insum`;
  29. +----+-------------------+---------------+----------+----------------+
  30. | id | fecha_vencimiento | nombre_insumo | cantidad | presentacion   |
  31. +----+-------------------+---------------+----------+----------------+
  32. |  1 | NULL              | uno           |        1 | presentacion 1 |
  33. |  2 | NULL              | dos           |        1 | presentacion 2 |
  34. |  3 | NULL              | tres          |        1 | presentacion 3 |
  35. +----+-------------------+---------------+----------+----------------+
  36. 3 rows in set (0.00 sec)

En tu caso estás utilizando la opción (2) es decir, estás listando todos los campos de la tabla (con excepción del id que es un autoincremental):

Código PHP:
Ver original
  1. mysql_query("INSERT INTO entrada_insum (fecha_vencimiento, nombre_insumo, cantidad, presentacion) VALUES('$nuevaFecha','$nombre_insumo[$i]', $cantidad[$i], '$presentacion[$i]')"

Lo único que tienes que asegurar es que tu parámetro '$nuevaFecha' sea NULL si quieres dejar la fecha vacía, por lo que el problema pareciera con PHP, no con la tabla, utiliza la opción que más te convenga.

Saludos
Leo.