Ver Mensaje Individual
  #4 (permalink)  
Antiguo 09/11/2009, 20:44
Avatar de gnzsoloyo
gnzsoloyo
Moderador criollo
 
Fecha de Ingreso: noviembre-2007
Ubicación: Actualmente en Buenos Aires (el enemigo ancestral)
Mensajes: 23.324
Antigüedad: 16 años, 5 meses
Puntos: 2658
Respuesta: duda sobre INSERT INTO

Código sql:
Ver original
  1. INSERT INTO publicaciones (id, ruta, id_foto, titulo, descripcion)
  2. VALUES ('', '$raiz', '$nombre', '', '');
En realidad, algo así...
Me explico: En este ejemplo no está poniendo nulos, estás poniendo caracteres vacíos, que en SQL no son la misma cosa. Si la tabla tiene definidos esos campos como NOT NULL, esta sentencia no va a generar un error, porque '' no es NULL.
El error saltaría si, siendo NOT NULL los dos últimos campos, tu pusieses algo así:
Código sql:
Ver original
  1. INSERT INTO publicaciones (id, ruta, id_foto)
  2. VALUES ('', '$raiz', '$nombre');
En este ejemplo, los campos están definidos de origen como NOT NULL... pero no los estás ingresando, con lo que el nuevo registro intentará poner NULL en esos dos campos... y saltará el error.
Si no te importa que esos campos se carguen con NULL, entonces en el momento de crear la tabla, en lugar de NOT NULL debe ir NULL.

Cuidado: Cuando quieras buscar si un campo contiene NULL como valor, no se puede hacer: campo=''. Eso no te responderá TRUE, porque '' es caracter vacío...
__________________
¿A quién le enseñan sus aciertos?, si yo aprendo de mis errores constantemente...
"El problema es la interfase silla-teclado." (Gillermo Luque)