2012-02-05 11 views

Respuesta

42

De acuerdo con la MySQL docs, se necesita algo como esto:

alter table <table_name> 
    add unique index <index_name> (<column_name> (8000)) 

Ésta es la gramática relevante:

| ADD [CONSTRAINT [symbol]] 
     UNIQUE [INDEX|KEY] [index_name] 
     [index_type] (index_col_name,...) [index_option] ... 

y

index_col_name: 
    col_name [(length)] [ASC | DESC] 
+0

intenté el alter statment anterior y me da una sintaxis incorrecta cerca ( –

+0

@Mike - Olvidé el paréntesis * extra * alrededor del nombre y la longitud de la columna. Funciona ahora. –

+0

Cuando lo hice recibí el error de MySql diciendo "La clave especificada era demasiado larga, la longitud máxima de la clave es 767 bytes", entonces para las tablas UTF8 usa 4 bytes por char. Tenía mi campo varchar 255 de largo, por lo que configurar mi campo varchar a 191 me dio suficiente espacio para crear un nuevo índice único. –

4

ALTER TABLE nextractor.tblhtml ADD UNIQUE INDEX uniqueindex_InnerHTML (InnerHtml (8000));

Cuestiones relacionadas