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

Primary Key

Estas en el tema de Primary Key en el foro de Mysql en Foros del Web. Hola, los molesto para hacerles una pequeña consulta. Estoy aprendiendo MySQL de a poquito, el manual que usé hasta ahora es bastante basico, por lo ...
  #1 (permalink)  
Antiguo 24/03/2009, 13:20
 
Fecha de Ingreso: diciembre-2007
Ubicación: Rosario
Mensajes: 65
Antigüedad: 16 años, 4 meses
Puntos: 2
Primary Key

Hola, los molesto para hacerles una pequeña consulta.

Estoy aprendiendo MySQL de a poquito, el manual que usé hasta ahora es bastante basico, por lo que no incluye ciertas explicaciones.

Mi pregunta es la siguiente, en el manual siempre usa como primary key el campo id de la tabla, pero si yo voy a poner friendly urls (para seo) no debería utilizar como primary key ese campo?

Por ejemplo en esta tabla
ID Nombre Url Descripcion
43 Ñandú nandu Zzzzzzzzzzzzz
76 Pingüino cazador pinguino-cazador Zzzzzzzzzzzzz

Y las url's en lugar de ser
example.com/animal.php?id=43
example.com/animal.php?id=76

Serían
example.com/animal/nandu/
example.com/animal/pinguino-cazador/

Creo que debería usar como primary key el campo Url, ya que es el que no debería repetirse nunca, o estoy equivocado?

Bueno eso es todo

Muchas gracias

Luciano
  #2 (permalink)  
Antiguo 24/03/2009, 13:39
Avatar de huesos52
Colaborador
 
Fecha de Ingreso: febrero-2009
Ubicación: Manizales - Colombia
Mensajes: 5.980
Antigüedad: 15 años, 2 meses
Puntos: 360
Respuesta: Primary Key

un saludo luciano

Siempre es bueno tener como primary key un id que identifique el registro en la tabla.
Si quieres validar que tu url no se repita nunca, puedes ponerla como 'unique key' y dejar el id como primary key.
  #3 (permalink)  
Antiguo 24/03/2009, 14:11
 
Fecha de Ingreso: febrero-2009
Mensajes: 36
Antigüedad: 15 años, 2 meses
Puntos: 0
Respuesta: Primary Key

Bueno, te tengo otra solucion!!

Si a fuerza deseas que ambas sean llaves primarias prueba con esto:

Ejemplo:

create table prueba(
identificador int not null auto_increment,
Nombre varchar(50)
Trabajo varchar(20)
primary key(identificador,nombre))

Haciendo esto, puedes tener en una tabla dos primary key!!
  #4 (permalink)  
Antiguo 24/03/2009, 14:15
 
Fecha de Ingreso: diciembre-2007
Ubicación: Rosario
Mensajes: 65
Antigüedad: 16 años, 4 meses
Puntos: 2
Respuesta: Primary Key

huesos52 sos un groso siempre salvandome

Editado:

Muchas gracias The_Clansman eso es interesante también pero no es lo que necesito, ya que de esa forma podria ocurrir que aparezcan registros con un mismo campo url (aunque tengan distinto id) y eso es justamente lo que quiero evitar.
No estoy muy seguro de esto ultimo que dije pero creo que es asi, no?
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 13:06.