Foros del Web » Programando para Internet » PHP »

Poner valor NULL con mysql_query

Estas en el tema de Poner valor NULL con mysql_query en el foro de PHP en Foros del Web. Hola, me gustaria saber como, a trabes de un INSERT o UPDATE poner un campo de una tabla en valor NULL, ejemplo: mysql_query("INSERT INTO mesa(metal,madera) ...
  #1 (permalink)  
Antiguo 11/07/2008, 11:43
 
Fecha de Ingreso: septiembre-2005
Ubicación: Valencia
Mensajes: 738
Antigüedad: 14 años, 8 meses
Puntos: 5
Pregunta Poner valor NULL con mysql_query

Hola, me gustaria saber como, a trabes de un INSERT o UPDATE poner un campo de una tabla en valor NULL, ejemplo:
mysql_query("INSERT INTO mesa(metal,madera) VALUES(NULL,"si")
El problema es que, en un campo numerico, cuando le digo que se ponga NULL, en realidad se pone 0 y no quiero eso.
¿Cual es la solucion?

Un grato saludo.
  #2 (permalink)  
Antiguo 11/07/2008, 12:17
Avatar de the_scorpion  
Fecha de Ingreso: mayo-2006
Ubicación: Cuba
Mensajes: 696
Antigüedad: 14 años
Puntos: 3
Respuesta: Poner valor NULL con mysql_query

Hola
Bueno no a lo mucho al mysql pero cual es el valor predeterminado que trae ese campo numerico
__________________
Que hablen mal de uno es espantoso. Pero hay algo peor: que no hablen.
Quien hace, puede equivocarse. Quien nada hace, ya está equivocado".
  #3 (permalink)  
Antiguo 11/07/2008, 13:18
 
Fecha de Ingreso: septiembre-2005
Ubicación: Valencia
Mensajes: 738
Antigüedad: 14 años, 8 meses
Puntos: 5
Respuesta: Poner valor NULL con mysql_query

Es 0.

Un saludo.
  #4 (permalink)  
Antiguo 11/07/2008, 13:37
Colaborador
 
Fecha de Ingreso: marzo-2008
Ubicación: Cáceres
Mensajes: 3.735
Antigüedad: 12 años, 2 meses
Puntos: 300
Respuesta: Poner valor NULL con mysql_query

The_scorpion te ha dado la clave.
Sí se puede escribir nulo, pero tienes que permitirlo y además ponerlo como por defecto.
puedes hacerlo así, si es que ya tienes creada la base y el campo:
ALTER TABLE nombretabla MODIFY nombrecamponumerico INT NULL
  #5 (permalink)  
Antiguo 11/07/2008, 15:20
 
Fecha de Ingreso: septiembre-2005
Ubicación: Valencia
Mensajes: 738
Antigüedad: 14 años, 8 meses
Puntos: 5
Respuesta: Poner valor NULL con mysql_query

Y es asi como esta Jurena.
Es nulo por defecto.
Pero se me pone a 0 cuando lo que quiero es que este como NULL
¿Esque para campos INT NULL= 0?

Un saludo..
  #6 (permalink)  
Antiguo 11/07/2008, 23:09
Colaborador
 
Fecha de Ingreso: marzo-2008
Ubicación: Cáceres
Mensajes: 3.735
Antigüedad: 12 años, 2 meses
Puntos: 300
Respuesta: Poner valor NULL con mysql_query

No, pero una cosa es permitir nulo y otra es poner como predeterminado o default nulo. Cuando permites nulo, pero no lo pones por defecto es cuando hace lo que dices, escribe 0, que es el nulo por defecto de los INT si no se dice otra cosa, aunque tú permitas el nulo (creo). Prueba esto:
ALTER TABLE `nombretabla` CHANGE `nombrecamponumerico` `nombrecamponumerico` INT( 11 ) NULL DEFAULT NULL

Y luego no insertes en ese campo nada y verás lo que ocurre.
  #7 (permalink)  
Antiguo 12/07/2008, 03:34
 
Fecha de Ingreso: septiembre-2005
Ubicación: Valencia
Mensajes: 738
Antigüedad: 14 años, 8 meses
Puntos: 5
Respuesta: Poner valor NULL con mysql_query

Hola jurena, como ya he dicho el predeterminado es NULO, ¿Al insertar datos que le indico al campo para que salga NULO? "", 0, NULL?

Un grato saludo.
  #8 (permalink)  
Antiguo 12/07/2008, 04:17
Colaborador
 
Fecha de Ingreso: marzo-2008
Ubicación: Cáceres
Mensajes: 3.735
Antigüedad: 12 años, 2 meses
Puntos: 300
Respuesta: Poner valor NULL con mysql_query

astut, cuando insertes el registro, no pongas nada sobre ese campo y cargará nulo. Si se llama camponumerico y hay otro campo llamado campo1
Opción 1)
INSERT INTO nombretabla (campo1) VALUES (5)
y, según creo, te cargará 5 en el campo1 y NULL en el campo camponumerico, puesto que cargará el predeterminado.
Opción 2)
Para cargar NULL en un campo que acepte NULL, puedes hacer esto
INSERT INTO nombretabla (campo1, camponumerico) VALUES (5, NULL)

La diferencia es que la primera opción es sólo para casos en que el predeterminado es NULL. A ti te valdrán las dos.

Última edición por jurena; 12/07/2008 a las 04:32
  #9 (permalink)  
Antiguo 12/07/2008, 07:32
 
Fecha de Ingreso: septiembre-2005
Ubicación: Valencia
Mensajes: 738
Antigüedad: 14 años, 8 meses
Puntos: 5
Respuesta: Poner valor NULL con mysql_query

Hola Jurena, gracias por la respuesta, tengo que utilizar la siguiente forma, pero pone el campo a 0:
Código:
$campo= NULL
INSERT INTO coche(color) VALUES ($campo)
¿Que puedo hacer en esta situacion?

Un saludo y gracias
  #10 (permalink)  
Antiguo 12/07/2008, 07:38
Colaborador
 
Fecha de Ingreso: marzo-2008
Ubicación: Cáceres
Mensajes: 3.735
Antigüedad: 12 años, 2 meses
Puntos: 300
Respuesta: Poner valor NULL con mysql_query

Esto es PHP. No puedo responderte en este foro, pero sí remitirte a este hilo donde Cluster explica, en mi opinión, lo que te está ocurriendo, y aconsejarte que pidas ayuda en el foro PHP. Yo también me vi en una situación semejante y lo resolví con programación.
http://www.forosdelweb.com/f18/asign...riable-205473/
  #11 (permalink)  
Antiguo 12/07/2008, 07:40
 
Fecha de Ingreso: septiembre-2005
Ubicación: Valencia
Mensajes: 738
Antigüedad: 14 años, 8 meses
Puntos: 5
Respuesta: Poner valor NULL con mysql_query

Vale a si que no puede ser NULL por lo que veo, pues ya me inventare algun valor..

Un saludo y gracias.
  #12 (permalink)  
Antiguo 12/07/2008, 07:48
Colaborador
 
Fecha de Ingreso: marzo-2008
Ubicación: Cáceres
Mensajes: 3.735
Antigüedad: 12 años, 2 meses
Puntos: 300
Respuesta: Poner valor NULL con mysql_query

No estoy seguro de todo esto que te digo: sí puedes poner NULL en la consulta de inserción y actualización de MySQL embebida, y eso es suficiente, pues te bastará con condicionar según el valor de la variable de tu programa y lanzar una consulta de inserción con NULL o con otro valor.

Saludos
  #13 (permalink)  
Antiguo 12/07/2008, 11:39
 
Fecha de Ingreso: septiembre-2005
Ubicación: Valencia
Mensajes: 738
Antigüedad: 14 años, 8 meses
Puntos: 5
Respuesta: Poner valor NULL con mysql_query

Ante todo esto volvemos al principio, indicando NULL en una consulta a traves de una variable ($variable= NULL) no funciona..
  #14 (permalink)  
Antiguo 12/07/2008, 11:48
Colaborador
 
Fecha de Ingreso: marzo-2008
Ubicación: Cáceres
Mensajes: 3.735
Antigüedad: 12 años, 2 meses
Puntos: 300
Exclamación Respuesta: Poner valor NULL con mysql_query

He reportado informando de que el tema ya está en el ámbito de PHP, y te respondo en tal lenguaje con una sugerencia, quizás no la más elegante.
$var=NULL;
$query = "INSERT INTO tutabla (numero) VALUES (";
if ($var==NULL){$query.="NULL)";} else {$query.="2)";};
$res = mysql_query ($query)
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Tema Cerrado




La zona horaria es GMT -6. Ahora son las 07:47.