2012-02-05 11 views

risposta

42

Secondo il MySQL docs, avete bisogno di qualcosa di simile:

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

Questa è la grammatica rilevante:

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

e

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

ho provato l'alter statment sopra e mi dà una sintassi errata vicino ( –

+0

@Mike - Ho dimenticato le parentesi * extra * attorno al nome e alla lunghezza della colonna. Funziona ora. –

+0

Quando ho fatto questo ho ricevuto l'errore da MySql dice "La chiave specificata era troppo lunga, la lunghezza massima della chiave è 767 byte", quindi per le tabelle UTF8 utilizza 4 byte per carattere.Ho il mio campo varchar 255 lungo, quindi impostando il mio campo varchar a 191 questo mi ha dato abbastanza spazio per creare un nuovo indice unico. –

4

ALTER TABLE nextractor.tblhtml ADD UNICO INDICE uniqueindex_InnerHTML (InnerHtml (8000));

Problemi correlati