Foros del Web » Programación para mayores de 30 ;) » Bases de Datos General » Mysql »

Campo predeterminado en bd

Estas en el tema de Campo predeterminado en bd en el foro de Mysql en Foros del Web. He colocado un valor predeterminado en uno de los campos de mi tabla, pero al rellenar el formulario que actúa sobre esta bd y dejar ...
  #1 (permalink)  
Antiguo 12/01/2011, 17:14
Avatar de Lutaj  
Fecha de Ingreso: septiembre-2007
Ubicación: Sevilla
Mensajes: 97
Antigüedad: 17 años, 2 meses
Puntos: 3
Campo predeterminado en bd

He colocado un valor predeterminado en uno de los campos de mi tabla, pero al rellenar el formulario que actúa sobre esta bd y dejar en blando dicho campo no me lo sustituye por el valor determinado.
¿Qué hago mal?

Campo : club
Tipo : Varchar
Longitud: 50
Cotejamiento : latin1_spanish_ci
Atributos:
Nulo: not null
Predeterminado: INDEPENDIENTE
Extra:
  #2 (permalink)  
Antiguo 12/01/2011, 18:34
Avatar de lair  
Fecha de Ingreso: enero-2009
Ubicación: header('Location: Morelia");
Mensajes: 1.052
Antigüedad: 15 años, 10 meses
Puntos: 46
Respuesta: Campo predeterminado en bd

Hola.

Quiero pensar que eso a lo que llamas predeterminado no es mas que un default y te deja el campo en blanco por que el valor por defecto solo se coloca cuando NO INSERTAS ese campo, sin embargo cuando haces la insersion desde php el hecho de que en el campo no introduzcas nada no quiere decir que este no se inserte, dicho de otra manera.

desconozco los campos que tiene tu tabla pero planteemos el siguiente ejemplo:
campo 1 Nombre default ANONIMO
campo 2 Edad

Cuando yo inserto desde mysql y NO ENVIO el campo de nombre, asi:
Código MySQL:
Ver original
  1. insert into tabla(Edad) values(18)
al no enviar el campo de nombre este tomara el valor de ANONIMO.

sin empbargo como decia arriba, cuando inserto desde php lo que en realidad sucede es lo siguiente:
Código MySQL:
Ver original
  1. insert into tabla (Nombre,Edad) values("",18)
en teoria el campo de nombre no tienen nada, por lo que deberia de llenarlo con ANONIMO pero en realidad se le esta llenando con una cadena VACIA ya que eso es lo que php seguramente esta haciendo desde tu script.

espero halla sido lo suficientemente claro.

Suerte.
  #3 (permalink)  
Antiguo 13/01/2011, 08:04
Avatar de Lutaj  
Fecha de Ingreso: septiembre-2007
Ubicación: Sevilla
Mensajes: 97
Antigüedad: 17 años, 2 meses
Puntos: 3
Respuesta: Campo predeterminado en bd

Muchas gracias por acertada respuesta, efectivamente eso es lo que está sucediendo, que al enviar el formulario desde php no me cambia el campo seleccionado con el valor default.
Ahora bien, ¿cómo lo soluciono?
Gracias de nuevo.

Última edición por Lutaj; 13/01/2011 a las 08:06 Razón: ampliación de la explicación.
  #4 (permalink)  
Antiguo 13/01/2011, 08:19
Avatar de huesos52
Colaborador
 
Fecha de Ingreso: febrero-2009
Ubicación: Manizales - Colombia
Mensajes: 5.980
Antigüedad: 15 años, 9 meses
Puntos: 360
Respuesta: Campo predeterminado en bd

Tomando el ejemplo de lair, yo lo que haría sería preguntar desde php si hay una cadena vacía. Si es así, el insert sería:
Código SQL:
Ver original
  1. INSERT INTO tabla(Edad) VALUES(18)

De esta forma respeta el valor por defecto.
Si no es vacía sería:
Código SQL:
Ver original
  1. INSERT INTO tabla (Nombre,Edad) VALUES('valor',18)

saludos
__________________
Without data, You are another person with an opinion.
W. Edwads Deming

Etiquetas: bd, predeterminado, campos
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.
Respuesta




La zona horaria es GMT -6. Ahora son las 20:02.