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

Consulta sobre clave primaria

Estas en el tema de Consulta sobre clave primaria en el foro de Mysql en Foros del Web. Hola ¿Es posible relacionar una clave primaria con el valor de otro registro? Yo tengo esta tabla Ciudades id smallint unique autoincrement paisId smallint ciudad ...
  #1 (permalink)  
Antiguo 24/01/2009, 12:19
 
Fecha de Ingreso: octubre-2003
Ubicación: capital
Mensajes: 17
Antigüedad: 20 años, 6 meses
Puntos: 0
Consulta sobre clave primaria

Hola

¿Es posible relacionar una clave primaria con el valor de otro registro?

Yo tengo esta tabla
Ciudades
id smallint unique autoincrement
paisId smallint
ciudad varchar(100) primary

La idea es que me deje tener esto paidId = 1 es Argentina y paisId = 2 es España
id paisId ciudad
1 1 Cordoba
2 2 Cordoba
3 1 Buenos Aires
..

Pero que No me deje hacer esto
id paisId Ciudad
1 1 Cordoba
2 2 Cordoba
3 1 Cordoba
..


Osea lo que busco es que si se ingresa una ciudad por ej Cordoba que tiene un paisId 1 y luego ingreso nuevamente Cordoba pero con el paisId 2 me deje hacerlo, pero si el paisId es 1 no ya que lo repite. ¿Es posible o es un error de concepto?

Gracias
  #2 (permalink)  
Antiguo 24/01/2009, 12:28
 
Fecha de Ingreso: junio-2008
Mensajes: 27
Antigüedad: 15 años, 10 meses
Puntos: 0
Respuesta: Consulta sobre clave primaria

Si estás haciendo la BD con phpmyadmin
yo lo haría así, al país como nombre_país el tipo de campo varchar y único para que no se pueda repetir.

No se si lo que comento es del todo correcto, mejor espera a que alguien que tenga más idea te conteste.
  #3 (permalink)  
Antiguo 24/01/2009, 19:24
Avatar de jfl_freak  
Fecha de Ingreso: enero-2009
Ubicación: Guatemala
Mensajes: 96
Antigüedad: 15 años, 3 meses
Puntos: 1
Respuesta: Consulta sobre clave primaria

La solución que te dice Taxi23 es correcta, otra forma en que lo haría yo fuera es que si estas utilizando PL/SQL podrías realizar una comparación if con un select y un like para ver si el nombre ya existe o bien si estas utilizando algun otro lenguajes como php podrías realizar tu select y verificar que el num_row sea igual a 0 o mayor a 0, ese es otra idea, talvéz alguien mas puede aportar algo
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 23:58.