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

Reiniciar campo en mysql en null

Estas en el tema de Reiniciar campo en mysql en null en el foro de Mysql en Foros del Web. Hola a todos, tengo una duda que la verdad es q no se bien como resolverla, tengo un campo tipo entero que tiene de valor ...
  #1 (permalink)  
Antiguo 19/02/2008, 15:56
 
Fecha de Ingreso: enero-2008
Mensajes: 203
Antigüedad: 16 años, 3 meses
Puntos: 1
Reiniciar campo en mysql en null

Hola a todos, tengo una duda que la verdad es q no se bien como resolverla, tengo un campo tipo entero que tiene de valor por defecto null, la cosa esta en que en un determinado momento despues de yo iniciar ese valor necesito volver a llevarlo a null, pero como es entero no le puedo enviar una variable de ese tipo, entonces me pregunto si hay alguna funcion en mysql que permita asignar a un campo el valor por defecto que tiene????

PD: no me sirve asignarle 0 u otro numero ya que esta variable es un foreign key que representa unos numeros de personas, asi que tampoco deberia inventar variables que no existen creo...
  #2 (permalink)  
Antiguo 19/02/2008, 16:29
Avatar de gnzsoloyo
Moderador criollo
 
Fecha de Ingreso: noviembre-2007
Ubicación: Actualmente en Buenos Aires (el enemigo ancestral)
Mensajes: 23.324
Antigüedad: 16 años, 5 meses
Puntos: 2658
Re: Reiniciar campo en mysql en null

Como regla general, un campo que es FOREIGN KEY nunca puede ser nulo, porque eso violaría la integridad referencial. Esto es porque un campo FOREIGN KEY es PRIMARY KEY en su tabla original.
La pregunta sería entonces, ¿en qué circunstancias dices que necesitas reiniciar a NULL un campo así?
  #3 (permalink)  
Antiguo 20/02/2008, 07:26
 
Fecha de Ingreso: enero-2008
Mensajes: 203
Antigüedad: 16 años, 3 meses
Puntos: 1
Re: Reiniciar campo en mysql en null

Cita:
Iniciado por gnzsoloyo Ver Mensaje
Como regla general, un campo que es FOREIGN KEY nunca puede ser nulo, porque eso violaría la integridad referencial. Esto es porque un campo FOREIGN KEY es PRIMARY KEY en su tabla original.
La pregunta sería entonces, ¿en qué circunstancias dices que necesitas reiniciar a NULL un campo así?
ok, te explico, tengo unas personas que tienen un codigo de staff el cual es la clave primaria de una de las tablas.

en otra hay unos candidatos a los que se realizan entrevistas, y necesito guardar quien va a ser el proximo entrevistador. la cosa esta en que cuando se realiza la ultima entrevista ya no habra prox entrevistador y necesito retirar el ultimo valor que tenia ese campo para poder realizar bien mis busquedas. pense anteriormente en colocar cero pero como te dije no puedo, xq son foreign key.

Gracias
  #4 (permalink)  
Antiguo 20/02/2008, 08:13
Avatar de gnzsoloyo
Moderador criollo
 
Fecha de Ingreso: noviembre-2007
Ubicación: Actualmente en Buenos Aires (el enemigo ancestral)
Mensajes: 23.324
Antigüedad: 16 años, 5 meses
Puntos: 2658
Re: Reiniciar campo en mysql en null

Partí la info en dos:
1. La tabla de los postulantes, ponele un campo booleano de estado (entrevistas terminadas = TRUE/FALSE).
2. Crea una tabla que vincule a las dos y que conserve de paso ciertos datos: a) Quien lo entrevista; b) Cuando lo debería entrevistar; c) Si la entrevista se realizó o no.

Obviamente esta segunda tabla (que tendrías las PK de cada uno, mas la fecha de realizacion) endrá un registro por cada entrevista realizada. Pero respetaría al menos la 3FN y con bastante más eficiencia.
Además de poder conservar el estado de pendiente de entrevistas, podés conservar un histórico de quiénes lo entrevistaron.
  #5 (permalink)  
Antiguo 20/02/2008, 09:39
 
Fecha de Ingreso: enero-2008
Mensajes: 203
Antigüedad: 16 años, 3 meses
Puntos: 1
Re: Reiniciar campo en mysql en null

Cita:
Iniciado por gnzsoloyo Ver Mensaje
Partí la info en dos:
1. La tabla de los postulantes, ponele un campo booleano de estado (entrevistas terminadas = TRUE/FALSE).
2. Crea una tabla que vincule a las dos y que conserve de paso ciertos datos: a) Quien lo entrevista; b) Cuando lo debería entrevistar; c) Si la entrevista se realizó o no.

Obviamente esta segunda tabla (que tendrías las PK de cada uno, mas la fecha de realizacion) endrá un registro por cada entrevista realizada. Pero respetaría al menos la 3FN y con bastante más eficiencia.
Además de poder conservar el estado de pendiente de entrevistas, podés conservar un histórico de quiénes lo entrevistaron.
muchas gracias por tu respuesta, lo que tu me estas diciendo, de quien lo entrevisto, cuando y eso, ya yo lo tengo me faltaria agregar es el campo de true false, muchas gracias por la idea asi lo hare...

Saludos
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 04:20.