2010-11-10 13 views

risposta

23

Se la colonna è stata definita unica usando UNIQUE clausola, quindi utilizzare:

ALTER TABLE mytable DROP INDEX constraint_name 

, o, se il vincolo è stato implicitamente chiamato,

ALTER TABLE mytable DROP INDEX column_name 

Se è stata definita unica con PRIMARY KEY clausola, utilizzare:

ALTER TABLE mytable DROP PRIMARY KEY 

Si noti, tuttavia, che se il vostro tavolo è InnoDB, l'eliminazione di PRIMARY KEY comporterà la ricreazione implicita della tabella e la ricostruzione di tutti gli indici, che bloccherà la tabella e potrebbe renderla inaccessibile per un periodo piuttosto lungo.

+0

ho cercato di eliminare la chiave univoca, ma il suo dare errore. sarà possibile farlo o devo ricreare la tabella. –

+0

@Ranbir: si prega di postare come un'altra domanda – Quassnoi

1

Solo DROP l'indice univoco. Ci non dovrebbe essere un problema con il fatto che si tratta di un DB live. Se è una tabella molto grande, è possibile bloccare alcune query temporaneamente mentre l'indice viene rimosso. Ma lo dovrebbe essere solo se si aggiunge un indice.

ALTER TABLE table_name DROP INDEX index_name; 
1

In alcuni casi, lo sviluppatore (voi) Non si può decidere di farlo cadere, ma piuttosto solo modificare la "unicità" a "non-unico".

Passi:

  1. andare al tavolo in un contesto, in cui si desidera apportare la modifica

  2. Fare clic sulla scheda "Struttura" (per lo più vicino a sfogliare)

  3. sguardo per il link "+ Indexes", appena sotto le colonne. Sì ... ora cliccaci
  4. Ora puoi vedere tutti gli "Indici" e ora puoi cliccare sul pulsante "DROP" o link per modificare.

risposta è stata trovata qui: Fonte: https://forums.phpfreaks.com/topic/164827-phpmyadmin-how-to-make-not-unique/

+0

FYI (per altri googler) queste sono le istruzioni per l'applicazione phpmyadmin. –

+0

Grazie Alexander Bird. Il componente aggiuntivo è molto apprezzato. Sì, le istruzioni sopra sono per "app phpMyAdmin". – AppEmmanuel

Problemi correlati