Cum se rezolvă codul de eroare 1060 în SQL Server? (Pas cu pas)
Publicat: 2025-08-07Dacă lucrați în SQL Server și vedeți o eroare care spune ceva de genul:
„Eroare 1060: Nume coloană duplicat” Nu vă panicați. Pare serios, dar este o greșeală comună.
Acest lucru apare de obicei atunci când încercați să schimbați un tabel adăugând o nouă coloană, dar numele coloanei există deja. Poate că nu ai observat că era acolo. Poate că scenariul a rulat de două ori. Oricum, SQL Server vă permite doar să știți: „Hei, această coloană există deja, nu o pot adăuga din nou.”
Să -l descompunem într -un mod simplu, astfel încât să îl puteți repara rapid și să îl evitați mai târziu.
Ce înseamnă codul de eroare SQL Server 1060?
Eroarea 1060 înseamnă că SQL Server vă blochează să adăugați o coloană cu un nume care este deja în tabel.
Se numește eroare „nume de coloană duplicat” . Să spunem că tabelul dvs. are deja o coloană numită user_email
. Dacă încercați să adăugați o altă coloană cu același nume folosind ALTER TABLE
, SQL Server aruncă eroarea 1060 pentru a opri duplicarea.
Nu este o eroare. Este doar modul SQL de a vă proteja structura bazei de date.
Motive comune pentru care SQL Server arată codul de eroare 1060
Această eroare apare de obicei atunci când lucrați la proiectarea sau rularea scripturilor. Nu contează dacă o faci în SQL Server Management Studio (SSMS) sau într -un fișier script - este vorba despre modul în care este scrisă comanda.
Iată situații de zi cu zi în care apare eroarea 1060:
- Încercați să adăugați o coloană care există deja
- Rulați același script de două ori fără a verifica coloana
- Copiați un script de la un alt dezvoltator care adaugă un câmp duplicat
- Restaurați o bază de date și executați actualizări care conflict
- Folosiți instrumente de automatizare care aplică aceeași schimbare de schemă de mai multe ori
- Editați mese mari și pierdeți urmărirea numelor de coloane
- Migrați o aplicație veche și încercați să sincronizați coloane noi
Este ușor de intrat, în special în proiecte partajate sau modificări semnificative de scheme.
Cum să remediați codul de eroare SQL Server 1060?
Această eroare pare înfricoșătoare la început, dar de obicei este foarte ușor de remediat. Încercați doar să adăugați o coloană care există deja în tabel. Așadar, cheia este să evitați duplicarea , fie să o gestionați în siguranță .
Încercați aceste corecții una câte una. De cele mai multe ori, Fix #1 sau Fix #2 îl va rezolva imediat.
Fix #1: Verificați dacă coloana există deja
Înainte de a încerca să adăugați o nouă coloană, mai întâi verificați tabelul pentru a vedea dacă acea coloană este deja acolo.
Puteți utiliza această interogare SQL:
SELECT COLUMN_NAME
FROM INFORMATION_SCHEMA.COLUMNS
WHERE TABLE_NAME = 'your_table_name'
Acest lucru va arăta toate coloanele din interiorul tabelului. Dacă coloana pe care încercați să o adăugați este deja listată, aceasta este problema dvs. Nu trebuie să o adăugați din nou - eliminați acea parte din scriptul dvs. Acesta este cel mai sigur prim pas.
Fix #2: Utilizați IF NOT EXISTS
în declarația dvs. ALTER
SQL Server nu permite exact IF NOT EXISTS
logică în interiorul ALTER TABLE
direct, dar puteți înfășura comanda modificată în interiorul unui IF
ca acesta:
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
Acest lucru verifică mai întâi. Dacă coloana nu este acolo, o adaugă. Dacă este deja acolo, sare comanda, nici o eroare. Aceasta este cea mai bună soluție pentru majoritatea scripturilor care ar putea rula de mai multe ori.

Fix #3: Revizuiește și curăță scripturile SQL
Uneori, problema nu este în codul dvs. - este de câte ori rulează codul. Dacă lucrați cu scripturi SQL lungi sau fișiere de migrare, verificați dacă există comenzi ALTER TABLE
repetate. Poate că aceeași coloană este adăugată de mai multe ori din greșeală.
De asemenea, dacă ați copiat o parte dintr-un script dintr-o altă sursă, verificați dublu că nu conține comenzi duplicate pentru același tabel. Această etapă de curățare este deosebit de utilă atunci când gestionați mai multe modificări.
Fix #4: Redenumiți sau renunțați la coloana duplicată (dacă este necesar)
Dacă coloana există deja, dar nu mai este necesară sau are un nume greșit, poate doriți să o aruncați sau să o redenumiți înainte de a adăuga unul nou.
Pentru a arunca o coloană:
ALTER TABLE your_table_name
DROP COLUMN your_column_name
Pentru a redenumi o coloană (SQL Server 2016+):
EXEC sp_rename 'your_table_name.old_column_name', 'new_column_name', 'COLUMN'
AVERTIZARE: Droparea sau redenumirea coloanelor vă poate rupe aplicația dacă coloana este folosită în altă parte. Utilizați acest lucru numai dacă sunteți sigur că coloana este sigură pentru a elimina sau a schimba.
Fix #5: Utilizați SQL Server Management Studio (SSMS) pentru a verifica schema
Uneori, ajută să vezi lucrurile vizual. Deschideți SSM -uri, conectați -vă la baza de date și extindeți tabelul. Veți vedea toate numele coloanelor enumerate. Acest lucru face mai ușor de observat dacă coloana este deja acolo sau a fost adăugată cu o ortografie diferită.
Odată confirmat, puteți să vă întoarceți la scriptul dvs. și să editați în siguranță sau să săriți acea coloană. SSMS este excelent pentru verificarea dublă înainte de a face modificări, mai ales dacă nu sunteți sigur.
Cele mai bune practici pentru a evita codul de eroare SQL Server 1060
Această eroare este standard, dar este ușor de evitat, de asemenea, odată ce știți cum să o gestionați. Iată câteva sfaturi care vă pot salva de la a -l lovi din nou în viitor:
- Verificați întotdeauna dacă coloana există deja înainte de a o adăuga
- Utilizați
IF NOT EXISTS
logică în scripturile dvs. (când este acceptat) - Lipiți -vă de denumirea de coloană clară, constantă
- Nu rulați același alter tabel de mai multe ori, cu excepția cazului în care este necesar
- Păstrați o înregistrare a modificărilor schemelor într -un jurnal de modificare sau controlul versiunilor
- Testează scripturi noi pe o bază de date de stadializare înainte de a merge live
- Utilizați instrumente precum SSM -uri pentru a verifica vizual coloanele tabelului
- Evitați SQL-ul cu paste de copiere fără a ști ce face
Aceste mici obiceiuri vă pot ajuta să scrieți scripturi mai curate și să evitați probleme precum eroarea 1060.
Concluzie
Eroarea SQL Server 1060 ar putea părea confuză, dar pur și simplu înseamnă că ați încercat să adăugați o coloană care există deja. SQL își face doar treaba pentru a vă proteja structura tabelului.
Fixarea este de obicei simplă: verificați lista de coloane, reglați scriptul sau adăugați o condiție pentru a preveni duplicatele. După ce ați înțeles ce a provocat -o, este ușor de evitat în viitor.
Acest tip de eroare este tipic în lucrările SQL. Cu cât practicați și testați mai mult scripturile, cu atât devine mai ușor.