Bu hata, benzersiz olması gereken bir sütuna (genelde birincil anahtar) zaten var olan bir değeri eklemeye çalıştığında oluşur.

Neden olur?

Birincil anahtar (PRIMARY KEY) her satır için benzersiz olmalıdır. Aynı id'yi iki kez eklemeye çalışmak bu hatayı verir.

Hatalı kod

INSERT INTO ogrenciler (id, ad) VALUES (1, 'Kuzey');
INSERT INTO ogrenciler (id, ad) VALUES (1, 'Deniz');   -- id=1 zaten var

Doğru kod

-- id'yi otomatik artan yap, elle verme:
INSERT INTO ogrenciler (ad) VALUES ('Deniz');
-- ya da farkli bir id kullan

Kontrol listesi

  • Birincil anahtar değerini elle vermek yerine otomatik artan (AUTO_INCREMENT) yap.
  • Eklemeden önce değerin var olup olmadığını kontrol et.
  • Güncelleme istiyorsan INSERT değil UPDATE kullan.

SQL derslerimizle sorgu yazmayı öğren.