In breve: MySQL Error 1022 duplicate key table indica che una creazione o modifica della tabella produrrebbe una chiave, un vincolo o un valore univoco già presente.
Indice dei contenuti
MySQL Error 1022 duplicate key table: significato
Le prime ipotesi da verificare per “MySQL Error 1022 duplicate key table” sono dati duplicati rispetto al nuovo indice UNIQUE; nome di vincolo già usato nello schema.

Sintomi e cause probabili
Sintomi da verificare
- ALTER TABLE o CREATE TABLE termina con Error 1022
- La migrazione si blocca durante la creazione di un indice o vincolo
- Il messaggio cita duplicate key o un nome di constraint
- La tabella rimane nella struttura precedente
Cause probabili
- Dati duplicati rispetto al nuovo indice UNIQUE
- Nome di vincolo già usato nello schema
- Migrazione già eseguita in parte
- Copia o rinomina di tabella che collide con indici esistenti
Diagnosi passo per passo
- Copiare query e nome della chiave riportata
- Esaminare SHOW CREATE TABLE prima della modifica
- Cercare valori duplicati nelle colonne del nuovo indice
- Verificare i nomi dei vincoli nello schema
- Controllare lo stato e la cronologia della migrazione
Log e dati da controllare
- Query ALTER o CREATE completa
- SHOW CREATE TABLE
- Elenco dei valori duplicati
- Log e versione della migrazione
Correzioni sicure
- Correggere o consolidare i duplicati dopo un backup
- Assegnare un nome univoco al vincolo
- Rendere la migrazione consapevole dello stato già applicato
- Ricreare l’indice soltanto dopo aver verificato i dati
- Ripetere la modifica in staging

Verifica finale
- ALTER TABLE termina correttamente
- L’indice o il vincolo compare una sola volta
- Non restano duplicati vietati
- Le query applicative continuano a funzionare
Errori da evitare
- Cancellare righe duplicate senza criteri
- Rimuovere tutti gli indici per completare la migrazione
- Rieseguire più volte la stessa ALTER
- Disattivare i vincoli senza verifica finale
Guide Xlogic correlate
- MySQL Error 1169: cannot write duplicate key
- MySQL Error 1005: Cannot create table
- MySQL Error 1061: duplicate key name
Fonti tecniche
Domande frequenti
Che cosa significa “MySQL Error 1022 duplicate key table”?
MySQL Error 1022 duplicate key table indica che una creazione o modifica della tabella produrrebbe una chiave, un vincolo o un valore univoco già presente.
Da cosa può dipendere “MySQL Error 1022 duplicate key table”?
Le cause da verificare per “MySQL Error 1022 duplicate key table” sono: dati duplicati rispetto al nuovo indice UNIQUE; nome di vincolo già usato nello schema; migrazione già eseguita in parte.
Quali controlli eseguire per “MySQL Error 1022 duplicate key table”?
Per diagnosticare “MySQL Error 1022 duplicate key table”, controlla nell’ordine: copiare query e nome della chiave riportata; esaminare SHOW CREATE TABLE prima della modifica; cercare valori duplicati nelle colonne del nuovo indice. La soluzione è confermata quando ALTER TABLE termina correttamente; L’indice o il vincolo compare una sola volta.