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??