PHP, MySQL CSV İthalat - Bunu nasıl yapardın?

2 Cevap php

Yani kullanıcı MySQL içine CSV dosyalarını içe izin gerekiyor bir PHP proje üzerinde çalışıyorum. CSV dosyaları benzersiz bir kimliği ile bir "sütun" içeren ... çiftleri vardır. Zor kısmı devreye giriyor burada .. çiftleri ayrı bir tabloya gitmek ve ana tabloya gerekir.

Bunu yapmak için kod yazdım ama Şu anda doğru masaya koyar, sonra, komut dosyası CSV okur ve her satır için, kimlik zaten varsa görmek için db sorgular ... daha verimli bir yol olarak var olan var . Bu CSV dosyaları bu yüzden ekstra zaman alıcı olması alır 50k + satır her içerir ...

Any Idea's would be great! Thanks!

2 Cevap

MySQL içine dökme yük CSV, daha sonra GROUP BY id HAVING COUNT(id) > 1 ile bir sorgu çalıştırmak ve bu satırları çekin.

MySQL tablo ID sütun için yinelenen değerleri kabul etmeyecek şekilde ayarlanmış olduğundan emin olunuz, daha sonra şunları yapın:

  1. Kimliği yoksa gibi INSERT deyimini çalıştırın
  2. Dönüşünü sınayın. Kimliği zaten varsa başarısız olur
  3. Test başarısız olursa, ikinci tabloya kayıt koymak için yeni bir INSERT deyimini çalıştırın

Lütfen kayıtların% 98 çoğaltmaları değilse bu şekilde, hiçbir hız azalma göreceksiniz, ve sadece birkaç çiftleri ekstra testler çalışacaktır.