Ver Mensaje Individual
  #2 (permalink)  
Antiguo 08/01/2015, 18:55
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: 17 años
Puntos: 2658
Respuesta: Campo NOT NULL con Default Value en NULL

Cita:
Hola, tengo un pequeño problema con mi base de datos, tengo un campo cant_pedido de tipo varchar que esta definido como not null, pero me deja guardar datos en blanco!!
Tienes dos problemas:
1) Si es un campo que almacena cantidades, debe ser si o si INT UNSIGNED, o cualquier otro de enteros, pero nunca un VARCHAR.
Una cantidad es una magnitud escalar, en consecuencia no puede ni debe ser jamás almacenada en un campo para cadenas de texto. Eso no tiene sentido.
2) Un espacio vacío o un espacio en blanco no es un NULL, el NULL les otra cosa y ni siquiera es un dato. Es un estado de indefinición. DE allí que un campo declarado como NOT NULL acepte espacios vacíos o en blanco (son cosas distintas).

A nivel de diseño e datos, si un campo se define como NOT NULL, no debería tener un valor por default, porque eso eso es un contrasentido. La idea de un NOT NULL es generar una restricción en la tabla para que no se pongan datos vacíos.
Solo se debe poner un valor por default si es necesario, y habitualmente es un valor real y no un vacío.

¿Se entiende??
__________________
¿A quién le enseñan sus aciertos?, si yo aprendo de mis errores constantemente...
"El problema es la interfase silla-teclado." (Gillermo Luque)