2016-04-04 22 views
2

MySQL ile çok deneyimsizim ve çok fazla sorun yaşıyorum. Linux Mint 17.3 üzerinde MySQL Workbench 6.3 kullanıyorum.Neden MySQL Workbench Tablosu Veri Alma Sihirbazı 0 kayıtlarını içe aktarır?

Tablo Verileri İçe Aktarma Sihirbazı'nı kullanarak bir CSV dosyasını bir tabloya aktarmaya çalışıyorum. Bu basit bir tablo için iyi çalışıyor ancak daha karmaşık bir tablo için başarısız oluyor.

Her satırın ve sütunun mükemmel olduğundan emin olmak için içe aktarma sihirbazındaki her şeyi düzeltirim.

"ithal 0 kayıtlarını"

ve tablo önceki gibi boş kalır: Orada disk etkinliği ve hiçbir hata bildirilir, ancak sonunda, zaman alır benim ~ 14000 satırları ithal ilk başta iş gibi görünüyor.

yeni tablosuna içe aktardığımda, her şey beklendiği gibi çalışır. Veri tiplerinin oldukça farklı olduğunu fark ettim. Veri türlerini .CSV dosyasında beklediklerime karşılık gelmeye zorladım. Ayrıca "NULLABLE = NO" alanlarının içinde bir şeylerin olduğundan emin oldum. Ama bu kurallardan herhangi birini kırdıysam hata olmaz mıydı? Hatta sadece tek bir satırı içe aktarmayı denedim, belki de bu büyük tablodaki bir yerlerin bazı kötü veriler olduğunu düşünürdüm, ama bir satır bile ithal edemiyorum.

Neden "0 kayıt içe aktarılıyor" var olan bir tabloya hata olmaz, ancak her şey yeni bir tabloyla düzgün çalışıyor? Yeterli bilgi içermediysem özür dilerim.

Teşekkür ederiz.

+0

* veri türleri oldukça farklı * anlamlıdır. Ne tür farklılıklar? Verileri bu yeni tabloya neden aktarmazsınız ve oradan gerçek tabloya gerekli tüm veri türü dönüşümlerini işlemden geçirirsiniz? –

+0

Farklılıklar, mevcut tablonun, yeni tablonun "metin" kullandığı "varchar" veya "zaman damgası" veri türlerini kullanmasıdır. Ayrıca yeni tablo "int" ve "bigint" kullanır, çıkarken "double" kullanır ve bir "bit" örneği vardır. Veri türlerini dönüştürürken bir tablodan diğerine aktarmayı denemeyi öğreneceğim, şimdi hem geçerli MySQL tabloları hem de daha kolay olabilir. Teşekkürler Ken. – Fraoch

+0

Bu yüzden verilerle ilgili birçok sorun olduğu ortaya çıktı. Sadece dönüştürmek yeterli değildi. Sonunda "tabloyu değiştir" e girdim ve iki tablonun eşleşmesi için her sütunun özniteliklerini değiştirmeye çalıştım. Bu, "NOT NULL" ayarlandığında çok sayıda NULL değer bulmaya başladı, ardından "UNIQUE" ayarlıyken çoğul kopyalar buldum. Bunları düzeltdikten sonra, diğer tablolardaki UUID'lere hala bazı referanslar vardı, o zaman bir sütunun benzersiz sayılardan ziyade UUID'leri beklediğini de keşfettim. Sonunda iki tablo eşleştiğinde yeni verileri mevcut tabloya aktardım. – Fraoch

cevap

0

Çözüm, her ithalatta ~ 2000 kayıt içe aktarmaktır. DB ile bir hafıza sorunu olduğuna inanıyorum. Aynı durumla karşılaştım ve 9000 kayıt yüklüyordum. Datatypes dahil olmak üzere her şey mükemmeldi.

İlgili konular