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

PORQUE index y primary key

Estas en el tema de PORQUE index y primary key en el foro de Mysql en Foros del Web. Saludos cordiales , porque no se puede seleccionar a un campo de una tabla como index y primary key a la misma vez Tengo una ...
  #1 (permalink)  
Antiguo 23/03/2011, 13:36
 
Fecha de Ingreso: diciembre-2009
Mensajes: 56
Antigüedad: 14 años, 4 meses
Puntos: 0
PORQUE index y primary key

Saludos cordiales ,
porque no se puede seleccionar a un campo de una tabla como index y primary key a la misma vez

Tengo una tabla que tiene como clave primaria 3 campos, y queria seleccionar uno de esos campos como indice y me salio el siguiente error:

Las claves PRIMARIA e ÍNDICE no deben seleccionarse juntas para la columna `iddoc_pag`

where iddoc_pag es el campo que tiene la doble seleccion

gracias

ME OLVIDE... TENDRE PROBLEMAS SI LO DEJO CON ESTA ADVERTENCIA DE ERROR??
  #2 (permalink)  
Antiguo 23/03/2011, 13:41
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, 4 meses
Puntos: 2658
Respuesta: PORQUE index y primary key

Un indice INDEX no es compatible con un índice PRIMARY KEY.
La definición de una columna como PK ya genera un índice UNIQUE, y la PK es un indice de tipo cluster... ¿Qué sentido tendría definir un INDEX sobre ella?

En esencia, los INDEX usan hash de claves, pero los PK son indices de entrada única y además los primeros muestran un orden lógico alternativo, mientras que los PRIMARY contienen el orden físico de los registros en disco. No son compatibles.
__________________
¿A quién le enseñan sus aciertos?, si yo aprendo de mis errores constantemente...
"El problema es la interfase silla-teclado." (Gillermo Luque)
  #3 (permalink)  
Antiguo 23/03/2011, 14:10
 
Fecha de Ingreso: diciembre-2009
Mensajes: 56
Antigüedad: 14 años, 4 meses
Puntos: 0
Respuesta: PORQUE index y primary key

Cita:
Iniciado por gnzsoloyo Ver Mensaje
Un indice INDEX no es compatible con un índice PRIMARY KEY.
La definición de una columna como PK ya genera un índice UNIQUE, y la PK es un indice de tipo cluster... ¿Qué sentido tendría definir un INDEX sobre ella?

En esencia, los INDEX usan hash de claves, pero los PK son indices de entrada única y además los primeros muestran un orden lógico alternativo, mientras que los PRIMARY contienen el orden físico de los registros en disco. No son compatibles.
Agradezco tu respuesta pero si te digo que te entendi completamente mentiría,
el PK genera un indice, hasta ahi ok, por lo tanto no tiene sentido aplicarle un index que solo aplica un orden logico, mientras que el PK lo hace fisicamente verdad?

Pero que significa "un hash de claves" ??
  #4 (permalink)  
Antiguo 23/03/2011, 15:00
 
Fecha de Ingreso: abril-2008
Mensajes: 93
Antigüedad: 16 años
Puntos: 10
Respuesta: PORQUE index y primary key

Sin entrar en muchos detalles, utilizar un campo como PK es equivalente a definir un "UNIQUE INDEX" sobre el campo y hacerlo "NOT NULL".

Como ya tienes un indice único, no te permite crear otro.

Etiquetas: index, key
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:13.