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

duda registro usuario

Estas en el tema de duda registro usuario en el foro de Mysql en Foros del Web. Hola buenas, Tengo una pequeña duda.. en mi bbdd tengo una tabla para los usuarios, y luego varias relaciones a esta. Por ejemplo, ciudad. Si ...
  #1 (permalink)  
Antiguo 31/05/2011, 07:56
 
Fecha de Ingreso: julio-2008
Ubicación: Barcelona
Mensajes: 2.100
Antigüedad: 15 años, 8 meses
Puntos: 165
duda registro usuario

Hola buenas,

Tengo una pequeña duda.. en mi bbdd tengo una tabla para los usuarios, y luego varias relaciones a esta. Por ejemplo, ciudad.

Si yo hago un formulario de registro, donde no coloco el campo ciudad, como hago el insert? no podré hacerlo porque evidentemente la relación no me lo permite.

En estos casos, que se hace? se borra la relación? o se crea una tabla temporal para los registros?

Un saludo y gracias!
  #2 (permalink)  
Antiguo 31/05/2011, 08:03
 
Fecha de Ingreso: abril-2011
Mensajes: 1.342
Antigüedad: 13 años
Puntos: 344
Respuesta: duda registro usuario

No entiendo que problema tienes exactamente.

Explícanos un poco más la estructura de tus tablas, pero yo creo que no deberías tener ningún problema en el caso que dices.
  #3 (permalink)  
Antiguo 31/05/2011, 08:07
 
Fecha de Ingreso: julio-2008
Ubicación: Barcelona
Mensajes: 2.100
Antigüedad: 15 años, 8 meses
Puntos: 165
Respuesta: duda registro usuario

El ejemplo es sencillo,

Tabla usuarios:

user_id, user_name, user_city_id

Tabla ciudades:

city_id, city_name

Si hay una relación 1/N, no podrás insertar un usuario sin indicar el id de la ciudad al cual pertenece..

Un saludo!
  #4 (permalink)  
Antiguo 31/05/2011, 08:12
 
Fecha de Ingreso: abril-2011
Mensajes: 1.342
Antigüedad: 13 años
Puntos: 344
Respuesta: duda registro usuario

Puedes poner que el campo user_city_id en la tabla Usuarios pueda ser NULL. De esta manera no estás obligado a introducirlo si no lo deseas.
  #5 (permalink)  
Antiguo 31/05/2011, 08:33
 
Fecha de Ingreso: julio-2008
Ubicación: Barcelona
Mensajes: 2.100
Antigüedad: 15 años, 8 meses
Puntos: 165
Respuesta: duda registro usuario

Uso mysql, y no se puede por lo que tengo entendido cuando es una relación...

Un saludo!
  #6 (permalink)  
Antiguo 31/05/2011, 08:48
 
Fecha de Ingreso: abril-2011
Mensajes: 1.342
Antigüedad: 13 años
Puntos: 344
Respuesta: duda registro usuario

Si se puede poner como valor null una clave extranjera.
  #7 (permalink)  
Antiguo 31/05/2011, 09:23
 
Fecha de Ingreso: julio-2008
Ubicación: Barcelona
Mensajes: 2.100
Antigüedad: 15 años, 8 meses
Puntos: 165
Respuesta: duda registro usuario

No se puede si esta relacionada..
  #8 (permalink)  
Antiguo 31/05/2011, 09:38
 
Fecha de Ingreso: abril-2011
Mensajes: 1.342
Antigüedad: 13 años
Puntos: 344
Respuesta: duda registro usuario

Te digo que sí se puede tener una clave ajena nula. En la tabla usuarios, user_city_id puede ser nula, lo que no puede es tener un valor que no aparezca en la tabla ciudades.
  #9 (permalink)  
Antiguo 31/05/2011, 09:43
 
Fecha de Ingreso: julio-2008
Ubicación: Barcelona
Mensajes: 2.100
Antigüedad: 15 años, 8 meses
Puntos: 165
Respuesta: duda registro usuario

Nulo es un valor que no aparece en la tabla ciudades.

No se puede.. da error, puedes probarlo.

Un saludo!
  #10 (permalink)  
Antiguo 31/05/2011, 10:03
 
Fecha de Ingreso: abril-2011
Mensajes: 1.342
Antigüedad: 13 años
Puntos: 344
Respuesta: duda registro usuario

No puedo probarlo en Mysql ahora mismo, pero en Postgresql funciona perfectamente y me acuerdo de haber probado en Mysql y también funcionaba.
  #11 (permalink)  
Antiguo 31/05/2011, 10:07
 
Fecha de Ingreso: julio-2008
Ubicación: Barcelona
Mensajes: 2.100
Antigüedad: 15 años, 8 meses
Puntos: 165
Respuesta: duda registro usuario

Pues que yo sepa no se puede, lo probé y lo he vuelto a probar y no se puede....
  #12 (permalink)  
Antiguo 31/05/2011, 10:37
 
Fecha de Ingreso: abril-2011
Mensajes: 1.342
Antigüedad: 13 años
Puntos: 344
Respuesta: duda registro usuario

Lo acabo de probar en MySQL y funciona perfectamente poniendo NULL el campo user_city_id.
  #13 (permalink)  
Antiguo 31/05/2011, 10:44
 
Fecha de Ingreso: julio-2008
Ubicación: Barcelona
Mensajes: 2.100
Antigüedad: 15 años, 8 meses
Puntos: 165
Respuesta: duda registro usuario

Cita:
Iniciado por alexg88 Ver Mensaje
Lo acabo de probar en MySQL y funciona perfectamente poniendo NULL el campo user_city_id.
Pues a mi no me funciona...

Código MySQL:
Ver original
  1. #1067 - Invalid default value for 'users_city_id'

Un saludo!
  #14 (permalink)  
Antiguo 31/05/2011, 10:54
 
Fecha de Ingreso: abril-2011
Mensajes: 1.342
Antigüedad: 13 años
Puntos: 344
Respuesta: duda registro usuario

Se puede hacer poniendo como nulo al editar el campo.

Te dejo una imagen para que veas como lo pongo con phpmyadmin:

http://imageshack.us/f/709/capturahw.png/

También puedes hacerlo con sql:

Código MySQL:
Ver original
  1. ALTER TABLE  `usuarios` CHANGE  `user_city_id`  `user_city_id` INT( 11 ) NULL DEFAULT NULL
  #15 (permalink)  
Antiguo 31/05/2011, 11:00
 
Fecha de Ingreso: julio-2008
Ubicación: Barcelona
Mensajes: 2.100
Antigüedad: 15 años, 8 meses
Puntos: 165
Respuesta: duda registro usuario

Ahora sii!!! :) muchas gracias, no sabía lo del checkbox!

Un saludo!

Etiquetas: php, registro, usuarios
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 19:57.