MyISAM tipindeki bir tabloya veri girerken, daha önce silinmi? olan verilerin ayn?s?n?n tekrar eklenmesi esnas?nda MySQL gidip tablonun sonuna bir sat?r daha girmek yerine daha önce oldu?u yere yaz?yordu. Ben de acaba ?öyle yapsam düzelir mi böyle yapsam düzelir mi diye söylenerek dü?ünürken kafama dank etti. Niye MySQL DELETE komutunu verdi?imde veriyi silsin ki? ?lgili veri sat?r?ndaki bir bayra??n konumunu de?i?tiriyor, ben tekrar ayn? veriyi kaydetmeye kalkt???mda bak?yor veriler ayn? bayra??n konumunu yine düzeltiveriyordu. Tabi sonuç olarak da veriler kar??ma eski s?ras?nda ç?k?yordu.

S?ra numaras?n? tutan bir alan açmay? tabi sonradan ak?l edebildik. Demek ki insan bu kadar aptalla?abiliyor gece gece. Gerçi saat de pek geç de?il ama neyse. Tamam gülmeyin.

2 Responses to “MySQL’ de INSERT ?zd?rab? (tabi benim suçum)”

  1. ilginç bir durummu?. insert ederken tabloyu neden kontrol ederki ? ona ne? veriyi sona ekle olsun bitsin. silmek eklemek benim i?im. asl?nda bence ba?ka bir olay var orda. çünkü 1 milyar kayd?n ve 300 tane field?n oldu?u bir tabloda (bu alanlar?n içerisinde blob ve varchar(255) gibi alanlar?nda oldu?unu dü?ünürsek) bi insert i?lemi saniyeler sürer…

  2. Bana da oldukça ilginç gelmi?ti. Neden ve nas?l böyle bir ?ey yapt???n? anlam?? de?ilim. Ancak tek bildi?im bunu gerçekten yapt??? :) Belki de son silinen kayda bak?p ayn? m? de?il mi diye kontrol ediyor da olabilir. Çünkü bu olay bir kayd? sildikten sonra tekrar eklemeye çal???nca olmu?tu diye hat?rl?yorum.

Leave a Reply

(required)

(required)

You may use these HTML tags and attributes: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong>

© 2012 Yaşar'ın Web Günlüğü Suffusion theme by Sayontan Sinha