Come risolvere il codice di errore 1060 in SQL Server? (Passo per passo)
Pubblicato: 2025-08-07Se stai lavorando in SQL Server e vedi un errore che dice qualcosa di simile:
"Errore 1060: nome della colonna duplicata" Non prendere il panico. Sembra serio, ma è un errore comune.
Questo di solito viene visualizzato quando stai cercando di cambiare una tabella aggiungendo una nuova colonna, ma il nome della colonna esiste già. Forse non hai notato che era lì. Forse la sceneggiatura ha funzionato due volte. Ad ogni modo, SQL Server ti sta solo facendo sapere: "Ehi, questa colonna esiste già, non posso aggiungerla di nuovo".
Rompilo in modo semplice in modo da poterlo riparare rapidamente ed evitarlo in seguito.
Cosa significa Codice di errore SQL Server 1060?
Errore 1060 significa che SQL Server ti sta bloccando dall'aggiunta di una colonna con un nome che è già nella tabella.
Si chiama errore "Nome colonna duplicato" . Supponiamo che il tuo tavolo abbia già una colonna denominata user_email
. Se si tenta di aggiungere un'altra colonna con lo stesso nome usando ALTER TABLE
, SQL Server lancia Errore 1060 per arrestare la duplicazione.
Non è un bug. È solo il modo di SQL di proteggere la struttura del database.
Motivi comuni per cui SQL Server mostra il codice di errore 1060
Questo errore di solito appare quando si lavora sul design della tabella o esegue gli script. Non importa se lo stai facendo in SQL Server Management Studio (SSMS) o in un file di script: si tratta di come è scritto il comando.
Ecco le situazioni quotidiane in cui si presenta l'errore 1060:
- Provi ad aggiungere una colonna che esiste già
- Esegui lo stesso script due volte senza verificare la colonna
- Copia uno script da un altro sviluppatore che aggiunge un campo duplicato
- Stai ripristinando un database e eseguendo aggiornamenti quel conflitto
- Stai utilizzando strumenti di automazione che applicano lo stesso cambio di schema più di una volta
- Stai modificando tavoli grandi e perdendo la traccia dei nomi delle colonne
- Stai migrando una vecchia app e stai cercando di sincronizzare nuove colonne
È facile da imbattermi, in particolare su progetti condivisi o cambiamenti di schema significativi.
Come correggere il codice di errore SQL Server 1060?
Questo errore all'inizio sembra spaventoso, ma di solito è molto facile da risolvere. Stai solo cercando di aggiungere una colonna che esiste già nella tabella. Quindi la chiave è evitare la duplicazione o gestirla in modo sicuro .
Prova queste correzioni una per una. Il più delle volte, Fix #1 o Fix #2 lo risolverà immediatamente.
Correzione n. 1: controlla se la colonna esiste già
Prima di provare ad aggiungere una nuova colonna, controlla prima la tabella per vedere se quella colonna è già lì.
Puoi usare questa query SQL:
SELECT COLUMN_NAME
FROM INFORMATION_SCHEMA.COLUMNS
WHERE TABLE_NAME = 'your_table_name'
Questo mostrerà tutte le colonne all'interno della tabella. Se la colonna che stai cercando di aggiungere è già elencata, questo è il tuo problema. Non è necessario aggiungerlo di nuovo: rimuovi quella parte dallo script. Questo è il primo passo più sicuro.
Fix #2: Utilizzare IF NOT EXISTS
nella tua istruzione Alter
SQL Server non consente esattamente IF NOT EXISTS
la logica all'interno ALTER TABLE
direttamente, ma è possibile avvolgere il tuo comando alter all'interno di un blocco IF
come questo:
IF NOT EXISTS (
SELECT * FROM INFORMATION_SCHEMA.COLUMNS
WHERE TABLE_NAME = 'your_table_name'
AND COLUMN_NAME = 'your_column_name')
BEGIN
ALTER TABLE your_table_name
ADD your_column_name VARCHAR(255)END
Questo controlla prima. Se la colonna non è lì, la aggiunge. Se è già lì, salta il comando, nessun errore. Questa è la soluzione migliore per la maggior parte degli script che potrebbero funzionare più di una volta.

Correzione #3: rivedi e pulisci i tuoi script SQL
A volte il problema non è nel tuo codice: è in quante volte il codice funziona. Se stai lavorando con gli script SQL lunghi o i file di migrazione, controlla i comandi ALTER TABLE
ripetuti. Forse la stessa colonna viene aggiunta più di una volta per caso.
Inoltre, se hai copiato parte di uno script da un'altra fonte, ricontrollare che non contenga comandi duplicati per la stessa tabella. Questo passaggio di pulizia è particolarmente utile quando si gestisce più modifiche.
Correzione #4: rinominare o rilasciare la colonna duplicata (se necessario)
Se la colonna esiste già ma non è più necessaria o ha il nome sbagliato, potresti voler lasciarlo cadere o rinominarlo prima di aggiungerne una nuova.
Per far cadere una colonna:
ALTER TABLE your_table_name
DROP COLUMN your_column_name
Per rinominare una colonna (SQL Server 2016+):
EXEC sp_rename 'your_table_name.old_column_name', 'new_column_name', 'COLUMN'
ATTENZIONE: la caduta o la ridenominazione delle colonne può rompere l'app se la colonna viene utilizzata altrove. Usalo solo se sei sicuro che la colonna sia sicura da rimuovere o cambiare.
Fix #5: Usa SQL Server Management Studio (SSMS) per controllare lo schema
A volte, aiuta a vedere le cose visivamente. Apri SSMS, connettiti al database ed espandi la tabella. Vedrai tutti i nomi delle colonne elencati. Questo rende più facile individuare se la colonna è già lì o è stata aggiunta con un'ortografia diversa.
Una volta confermato, puoi tornare allo script e modificare o saltare in sicurezza quella colonna. SSMS è ottimo per il doppio controllo prima di apportare modifiche, soprattutto se non sei sicuro.
Best practice per evitare il codice di errore del server SQL 1060
Questo errore è standard, ma è anche facile da evitare una volta che sai come gestirlo. Ecco alcuni suggerimenti che possono salvarti dal colpirlo di nuovo in futuro:
- Controlla sempre se la colonna esiste già prima di aggiungerla
- Utilizzare
IF NOT EXISTS
una logica negli script (quando supportato) - Attenersi alla denominazione di colonna chiara e coerente
- Non eseguire la stessa tabella Alter più di una volta a meno che non sia necessario
- Conservare un registro delle modifiche allo schema in un registro di modifica o controllo della versione
- Prova nuovi script su un database di stadiazione prima di andare in diretta
- Usa strumenti come SSMS per controllare visivamente le colonne della tabella
- Evita SQL in cima alla copia senza sapere cosa fa
Queste piccole abitudini possono aiutarti a scrivere script più puliti ed evitare problemi come l'errore 1060.
Conclusione
L'errore 1060 SQL Server potrebbe sembrare confuso, ma significa semplicemente che hai provato ad aggiungere una colonna che esiste già. SQL sta solo facendo il suo lavoro per proteggere la struttura del tavolo.
La correzione è di solito semplice: controllare l'elenco delle colonne, regolare lo script o aggiungere una condizione per prevenire i duplicati. Una volta che hai capito cosa lo ha causato, è facile da evitare in futuro.
Questo tipo di errore è tipico nel lavoro SQL. Più ti pratichi e teschi i tuoi script, più è più facile.