{"id":207,"title":"SQL Notlar\u0131:  Hata Kodlar\u0131 ve \u00c7\u00f6z\u00fcmleri","content":"<p>MySQL'de \u00e7al\u0131\u015f\u0131rken kar\u015f\u0131la\u015f\u0131lan hata kodlar\u0131, veritaban\u0131 y\u00f6netiminde s\u0131k\u00e7a kar\u015f\u0131la\u015f\u0131lan sorunlard\u0131r. Bu yaz\u0131da, yayg\u0131n MySQL hata kodlar\u0131n\u0131 ve bu hatalar\u0131n nas\u0131l \u00e7\u00f6z\u00fclece\u011fini ele alaca\u011f\u0131z.<\/p><p>#### 1. Hata Kodu 1064: S\u00f6zdizimi Hatas\u0131<\/p><p>**Hata Mesaj\u0131:**<br>```sql<br>Error Code: 1064. You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near \u2018from Person\u2019 at line 2.<br>```<\/p><p>**\u00c7\u00f6z\u00fcm:**<br>Bu hata, SQL sorgusunda s\u00f6zdizimi hatas\u0131 oldu\u011funu g\u00f6sterir. Hata mesaj\u0131nda belirtilen k\u0131s\u0131m, sorgunun nerede hata verdi\u011fini g\u00f6sterir. \u00d6rne\u011fin, fazladan bir virg\u00fcl veya eksik bir parantez bu hataya neden olabilir. Sorguyu dikkatlice inceleyerek hatay\u0131 bulmal\u0131 ve d\u00fczeltmelisiniz.<\/p><p>#### 2. Hata Kodu 1175: G\u00fcvenli G\u00fcncelleme Hatas\u0131<\/p><p>**Hata Mesaj\u0131:**<br>```sql<br>Error Code: 1175. You are using safe update mode and you tried to update a table without a WHERE that uses a KEY column.<br>```<\/p><p>**\u00c7\u00f6z\u00fcm:**<br>Bu hata, g\u00fcvenli g\u00fcncelleme modunda (`SQL_SAFE_UPDATES`) bir tabloyu anahtar s\u00fctun kullanmadan g\u00fcncellemeye \u00e7al\u0131\u015ft\u0131\u011f\u0131n\u0131zda ortaya \u00e7\u0131kar. Bu modu ge\u00e7ici olarak devre d\u0131\u015f\u0131 b\u0131rakmak i\u00e7in:<\/p><p>```sql<br>SET SQL_SAFE_UPDATES = 0;<br>```<\/p><p>G\u00fcncelleme i\u015flemi tamamland\u0131ktan sonra g\u00fcvenli g\u00fcncelleme modunu tekrar etkinle\u015ftirebilirsiniz:<\/p><p>```sql<br>SET SQL_SAFE_UPDATES = 1;<br>```<\/p><p>#### 3. Hata Kodu 1215: Yabanc\u0131 Anahtar Eklenemiyor<\/p><p>**Hata Mesaj\u0131:**<br>```sql<br>Error Code: 1215. Cannot add foreign key constraint.<br>```<\/p><p>**\u00c7\u00f6z\u00fcm:**<br>Bu hata, yabanc\u0131 anahtar eklenirken tablolar\u0131n yap\u0131s\u0131n\u0131n uygun olmad\u0131\u011f\u0131n\u0131 g\u00f6sterir. Yabanc\u0131 anahtar\u0131n h\u0131zl\u0131 bir \u015fekilde kontrol edilebilmesi i\u00e7in, referans verilen tabloda bir indeks olmas\u0131 gerekir. \u00d6rne\u011fin:<\/p><p>```sql<br>CREATE INDEX `gt_eventdt` ON getTogethers (`eventDT`);<br>```<\/p><p>Bu indeks olu\u015fturulduktan sonra yabanc\u0131 anahtar eklenebilir.<\/p><p>#### 4. Hata Kodu 1062: Yinelenen Giri\u015f<\/p><p>**Hata Mesaj\u0131:**<br>```sql<br>Error Code: 1062. Duplicate entry '12' for key \u2018PRIMARY\u2019.<br>```<\/p><p>**\u00c7\u00f6z\u00fcm:**<br>Bu hata, birincil anahtar veya benzersiz bir s\u00fctuna yinelenen bir de\u011fer eklemeye \u00e7al\u0131\u015ft\u0131\u011f\u0131n\u0131zda ortaya \u00e7\u0131kar. \u00c7\u00f6z\u00fcm olarak, birincil anahtar s\u00fctununu `AUTO_INCREMENT` yapabilir veya `INSERT IGNORE` kullanarak yinelenen kay\u0131tlar\u0131 g\u00f6rmezden gelebilirsiniz:<\/p><p>```sql<br>INSERT IGNORE INTO userDetails VALUES (NULL, 'John', 'Doe', 1);<br>```<\/p><p>#### 5. Hata Kodu 2002, 2003: Ba\u011flant\u0131 Kurulam\u0131yor<\/p><p>**Hata Mesaj\u0131:**<br>```sql<br>Error Code: 2002, 2003. Cannot connect to MySQL server.<br>```<\/p><p>**\u00c7\u00f6z\u00fcm:**<br>Bu hata, MySQL sunucusuna ba\u011flan\u0131lamad\u0131\u011f\u0131n\u0131 g\u00f6sterir. Sunucunun \u00e7al\u0131\u015f\u0131p \u00e7al\u0131\u015fmad\u0131\u011f\u0131n\u0131 kontrol edin, g\u00fcvenlik duvar\u0131 ayarlar\u0131n\u0131 g\u00f6zden ge\u00e7irin ve ba\u011flant\u0131 noktas\u0131n\u0131n (3306) a\u00e7\u0131k oldu\u011fundan emin olun.<\/p><p>#### 6. Hata Kodu 126, 127, 134, 144, 145: Tablo \u00c7\u00f6km\u00fc\u015f<\/p><p>**Hata Mesaj\u0131:**<br>```sql<br>Error Code: 126. Index file is crashed.<br>Error Code: 127. Record-file is crashed.<br>Error Code: 134. Record was already deleted.<br>Error Code: 144. Table is crashed and last repair failed.<br>Error Code: 145. Table was marked as crashed and should be repaired.<br>```<\/p><p>**\u00c7\u00f6z\u00fcm:**<br>Bu hatalar, tablonun \u00e7\u00f6kt\u00fc\u011f\u00fcn\u00fc ve onar\u0131lmas\u0131 gerekti\u011fini g\u00f6sterir. MyISAM tablolar\u0131 i\u00e7in `CHECK TABLE` ve `REPAIR TABLE` komutlar\u0131n\u0131 kullanabilirsiniz:<\/p><p>```sql<br>CHECK TABLE tablo_adi;<br>REPAIR TABLE tablo_adi;<br>```<\/p><p>InnoDB tablolar\u0131 i\u00e7in bu t\u00fcr hatalar daha az yayg\u0131nd\u0131r, ancak yine de tabloyu onarmak i\u00e7in `ALTER TABLE` kullanabilirsiniz.<\/p><p>#### 7. Hata Kodu 139: Tablo Tan\u0131m\u0131 S\u0131n\u0131r\u0131 A\u015f\u0131ld\u0131<\/p><p>**Hata Mesaj\u0131:**<br>```sql<br>Error Code: 139. Table definition is too large.<br>```<\/p><p>**\u00c7\u00f6z\u00fcm:**<br>Bu hata, tablo tan\u0131m\u0131n\u0131n (s\u00fctun say\u0131s\u0131 ve boyutu) belirli bir s\u0131n\u0131r\u0131 a\u015ft\u0131\u011f\u0131n\u0131 g\u00f6sterir. \u00c7\u00f6z\u00fcm olarak, \u015femay\u0131 yeniden d\u00fc\u015f\u00fcnmeli ve tabloyu normalize etmelisiniz. Ayr\u0131ca, tabloyu dikey olarak b\u00f6l\u00fcmleyebilirsiniz.<\/p><p>#### 8. Hata Kodu 1366: Karakter Seti Uyumsuzlu\u011fu<\/p><p>**Hata Mesaj\u0131:**<br>```sql<br>Error Code: 1366. Incorrect string value.<br>```<\/p><p>**\u00c7\u00f6z\u00fcm:**<br>Bu hata, istemci ve sunucu aras\u0131nda karakter seti uyumsuzlu\u011fu oldu\u011funda ortaya \u00e7\u0131kar. Karakter seti ve s\u0131ralama ayarlar\u0131n\u0131 kontrol ederek uyumlu hale getirmelisiniz.<\/p><p>#### Sonu\u00e7<\/p><p>MySQL'de kar\u015f\u0131la\u015f\u0131lan hata kodlar\u0131, veritaban\u0131 y\u00f6netiminde s\u0131k\u00e7a kar\u015f\u0131la\u015f\u0131lan sorunlard\u0131r. Bu hatalar\u0131n nedenlerini anlamak ve do\u011fru \u00e7\u00f6z\u00fcmleri uygulamak, veritaban\u0131 performans\u0131n\u0131 ve g\u00fcvenilirli\u011fini art\u0131r\u0131r. Bir sonraki yaz\u0131da g\u00f6r\u00fc\u015fmek \u00fczere!<\/p>","excerpt":"MySQL'de kar\u015f\u0131la\u015f\u0131lan hata kodlar\u0131, veritaban\u0131 y\u00f6netiminde s\u0131k\u00e7a kar\u015f\u0131la\u015f\u0131lan sorunlard\u0131r. Bu hatalar\u0131n nedenlerini anlamak ve do\u011fru \u00e7\u00f6z\u00fcmleri uygulamak, veritaban\u0131 performans\u0131n\u0131 ve g\u00fcvenilirli\u011fini art\u0131r\u0131r","created_at":"2025-01-13 15:27:39","updated_at":"2026-09-07 20:03:55","category_id":9,"view_count":601,"reading_time":4,"status":"published","editor_choice":0,"is_editor_choice":0,"published_at":"2025-01-13 15:27:39","featured_image":"resimyok.jpg","slug":"sql-notlari-hata-kodlari-ve-cozumleri","category_name":"Yaz\u0131l\u0131m","category_slug":"yazilim"}