Ver Mensaje Individual
  #9 (permalink)  
Antiguo 05/05/2013, 15:16
Avatar de gnzsoloyo
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
Respuesta: Error en PK varchar(350)

A mi entender, es un problema casi conceptual: Que declares el VARCHAR en 350 caracteres, no implica que el tamaño real se restrinja a esa longitud, por cuanto un VARCHAR puede contener hasta 65532 caracteres, lo que excede la longitud aceptable para una entrada de índice (1000 bytes).
Como el CREATE INDEX toma de referencia el rango total posible, no te está admitiendo la creación de un indice ocn un tamaño de clave variable que supere lo indicado.
La solución de manual sería que indexes definiendo cual es el tamaño que la entrada del índice debe tomar de referencia.
Código MySQL:
Ver original
  1. CREATE INDEX nombre_indice ON tabla(columa(n));
Donde "n" es un entero positivo que representa la logitud maxima declarada para ese campo en la tabla:
Código MySQL:
Ver original
  1. CREATE INDEX nombre_indice ON tabla(columa(350));

Prueba y me cuentas.
__________________
¿A quién le enseñan sus aciertos?, si yo aprendo de mis errores constantemente...
"El problema es la interfase silla-teclado." (Gillermo Luque)