dhmm bunu yazdı Tablon/tablolarin MyISAM mi InnoDB mi? Evet Hocam MyISAM mi? InnoDB mi? anlamadim :( Ozgurluk aslinda her istedigini yapabilmek degildir, istemedigini yapmamaktir. // Verdigin degeri gormeyince, gordugun degeri ver!!! // Hayatin herkes icin bir bavulu vardir!!! // Dusmek gerekir bazen hayatta; kalkmayi ogrenebilmek icin

Tablon/tablolarin MyISAM mi InnoDB mi? Ozgurluk aslinda her istedigini yapabilmek degildir, istemedigini yapmamaktir. // Verdigin degeri gormeyince, gordugun degeri ver!!! // Hayatin herkes icin bir bavulu vardir!!! // Dusmek gerekir bazen hayatta; kalkmayi ogrenebilmek icin

transactionları düzgün ynetememişsinizdir veya bazı kontrolleri kod tarafında yaptıysanız gecikme olduğu vs durumda yanıt alamadan kontrolden geçen aynı istekler kontrolleri güzelce geçip db ye çatanakkk diye giderse db de bunu sorgulamaz yazar :)transactionlar isolation leveller vs uğraşmaktansa zaten düşük bi yüzdeyle oluyormuş, db tarafında çoklu alan için unique (tek başlarına unique olmayan ama 2-3 tanesi birleşince unique olan bi key yani) belirle geç hocam, aynı kayıt db ye geldiğinde unique key violation alırsın, mükerrer kayıttan kurtulursun. Mükerrer kayıt yaratmaya çalıştığında haberin olsun diyosan exception olarak 2627 olması gerekioydu kodu da, ona gre yakalayabilirsin. sonradan gelen edit : cevap yazdıktan sonra okudum, mysql miş pardon :) MaviGozluDev tarafından 05/Nis/18 14:14 tarihinde düzenlenmiştir.

Merhaba, Uzak sunucudaki Mysql veri tabanıma gnderdiğim kayıtların bazılarında mükerer kayıtlar oluşuyor. Fazla değil yani 10bin kayıt gittiyse 20 tane bir biri ardına kayıt oluşmuş. Merak ettiğim daha nce başına gelen var mı byle bir durum. Ağdaki gecikmelerden vs. olabilir mi bu durum aksi halde oturup kodlara dneceğim. tahribat.com a can feda

adam tuşa üst üste basmıştır hacım. double click gibi orada kontrolü kodda yapıyorsan bir yeri atlıyordur ondandır. Anıl

@dhmm MyISAM, yapıştırmayı unutmuşum. Python ile gnderiyorum, veri içeren tabloları InnoDB 'ye çevirsem sorun olur mu? Bir de tablo birden fazla yerden gelen veriyle güncelleme ve ekleme işlemi yapılıyor bağımsız çalışan iki ayrı script tarafından sanırım bu yüzden de InnoDB olması daha mı uygun oluyor? db = MySQLdb. connect("192.100.1.100","root","_","db1", charset="utf8", init_command="SET NAMES UTF8" ) cursor = db. cursor Conncetor kısmıda bu şekilde @yawuz hocam, oncelikle db'nin backup'ini al kesinlikle. Tablolarini MyISAM'dan InnnoDB'ye cevirebilirsin ama sistem tablolarini cevirmeye kalkma cunku bu desteklenmeyen bir islemdir. ALTER TABLE tabloadi ENGINE=InnoDB; komutu ile cevirirsin. Sadece InnoDB yetmiyor ama transactionlarida begin, commit, rollback fln yazman gerek. Ayrica autocommit'i False de yap gonderirken. Mesela : import MySQLdb db = MySQLdb. connect("192.100.1.100","root","_","db1", charset="utf8", init_command="SET NAMES UTF8" ) db. autocommit cursor = db. cursor try: cursor. execute("INSERT INTO bilmemne... ") db.commit except: db. rollback Ayrica bir oneri; Eger bu sekilde cosulmezse ve merkezi bir insert fonksiyonun varsa oraya bir log tutma olayi koy ve bak bakalim hangi script bunu yapiyor. Ozgurluk aslinda her istedigini yapabilmek degildir, istemedigini yapmamaktir. // Verdigin degeri gormeyince, gordugun degeri ver!!! // Hayatin herkes icin bir bavulu vardir!!! // Dusmek gerekir bazen hayatta; kalkmayi ogrenebilmek icin

MySQL mimarisinde storage engine ayri bir layer'dir. Dusuk seviyeli api ile storage engine ve SQL arasinda iletisim kurulur. Bu yuzden degisik "storage engine" ler vardir. Eger tablolarin MyISAM storage engine ise auto-commit modunda calisiyorlar. Bu engine'i transaction engine degildir. Onun yerine InnoDB kullan ki transactionlarini yakalasin. Birde hangi dille gonderiyorsun? Arada baska layer veya API, Service fln olmasin. Kullandigin COnnectorda sikinti olmasin BUG fln. Ozgurluk aslinda her istedigini yapabilmek degildir, istemedigini yapmamaktir. // Verdigin degeri gormeyince, gordugun degeri ver!!! // Hayatin herkes icin bir bavulu vardir!!! // Dusmek gerekir bazen hayatta; kalkmayi ogrenebilmek icin

Tablon/tablolarin MyISAM mi InnoDB mi? Evet tahribat.com a can feda

bu senden kaynaklı değil bir anlık gecikme buna neden olabiliyor. şyleki oyunlarda bu çok kullanılan bir bug mesela darkorbit oyununda flax bugu vardı. tamamen bu mantık üzerinde adam bir flaxten milyonlar kasıyordu.transaction ile çzülebilir grünüyor. Ne zaman birşey ğrenmek istesem, Birden Vaktim Kalmıyor?

@dhmm MyISAM, yapıştırmayı unutmuşum. Python ile gnderiyorum, veri içeren tabloları InnoDB 'ye çevirsem sorun olur mu? Bir de tablo birden fazla yerden gelen veriyle güncelleme ve ekleme işlemi yapılıyor bağımsız çalışan iki ayrı script tarafından sanırım bu yüzden de InnoDB olması daha mı uygun oluyor? db = MySQLdb. connect("192.100.1.100","root","_","db1", charset="utf8", init_command="SET NAMES UTF8" ) cursor = db. cursor Conncetor kısmıda bu şekilde yawuz tarafından 05/Nis/18 16:51 tarihinde düzenlenmiştir tahribat.com a can feda

Unique field yapsana abi İnsanlara umut sat gerisi gelir.

Oran çok düşük. Çekerken unique çeksen sıkıntı olmaz sanıyorum. Ağ bağlantısından değildir. Kodlara bakmak lazım. Mümkün mertebe parametreli sorgu ve transaction kullanın. Olaylara karışmayın!

tablonun içinde tekrar eden alanlar olacak, unique field olursa hata almaz mıyım? tahribat.com a can feda

adam basmıyor tuşa uzun bir işlemin neticesi dnüyor da demek ki şartlar bir yerde değişiyor mecburen adım adım bakacağım. Teşekkürler cümleten. tahribat.com a can feda