Ver Mensaje Individual
  #1 (permalink)  
Antiguo 24/04/2008, 04:47
Avatar de SUSMO
SUSMO
 
Fecha de Ingreso: abril-2008
Ubicación: Barcelona
Mensajes: 188
Antigüedad: 16 años
Puntos: 0
diferencia entre null y valor vacío

Hola a todos,

¿Alguien me puede explicar la diferencia entre guardar un campo vacío en una tabla o guardar null?

El problema viene porque en una tabla tengo campos definidos como enteros, permito que puedan ser nulos y por defecto de doy el valor NULL.
A la hora de hacer el insert de esos campos si pongo valores vacíos me crea un error:
Cita:
INSERT INTO coches VALUES('65064',432,'cotxe',20,14,52,'1.6 16V 110cv','usado',,'si',7900.00,2003,2003,,55000,'gas olina','manual','si','no','no',,,,,,,'','El coche bla bla bla.','no',1 ) You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near ''si',7900.00,2003,2003,,55000,'gasolina','manual' ,'si','si','no','si','no','no',' at line 1
He estado investigando y los tipos corresponden a valor vacío, es decir el primer valor que inserto vacío (despues de 'usado') se corresponde a un dato de tipo entero, en cambio si le pongo como vacío de una cadena ' ' me lo inserta bien, lo mismo pasa si en lugar de , , le pongo null

Yo tenía entendido que si haces un insert de un valor vacío te coge el de por defecto que en mi caso es null y no entiendo pq me da problemas. Puedo solucionar mi problema poniendo null en lugar de vacío pero me gustaría aclarar el concepto para no repetir el error.
He estado mirando el manual de MySQL pero aún me he liado más.

¿Alguien puede explicarmelo?

Gracias por adelantado.