2016-04-02 22 views
1

Seçilen sütunları mysql workbench içine almak için aşağıdaki kodu kullanıyorum.Sütun Ad gereksinimi mysql workbench içine csv içe aktarılırken

SET autocommit=0; 
    LOAD DATA LOCAL INFILE '150926.csv' INTO TABLE innodb.fh FIELDS TERMINATED BY ',' ENCLOSED BY '"' LINES TERMINATED BY '\n' ignore 1 lines 
    (@dummy,date,@dummy,@dummy,@dummy,**CS-URI-STEM**,@dummy,@dummy,@dummy,c-ip,@dummy,@dummy,@dummy,@dummy,@dummy,@dummy, session_id,@dummy,@dummy,@dummy); 

    COMMIT; 

konu benim csv dosyasında "CS-URI STEM" olarak adlandırılan bir sütun vardı, ve benim kod çalışmıyor. Sadece onun içinde csv dosyasındaki sütun adını değiştirmem gerekip gerekmediğini merak ediyorum. Ya da kodu değiştirmem gerekiyorsa lütfen bana bildirin. Birçok thx !!!!!!

+1

Geri çekme, sütun ve tablo adlarından kaçmak için MySQL standardını kullanmayı denediniz mi? –

cevap

1

Parantez içindeki sütun adları, dosyadan sütun adları değil, içe aktardığınız tablodan sütun adlarıdır. Bu, farklı bir şekilde çalıştığı için sütun adının veya sütun listesinin değer listesi gibi düşünürseniz kafa karıştırıcıdır - burada dosyadaki hangi sütunun (listedeki konuma göre) tablodaki sütuna gittiğini belirtirsiniz (tablodaki sütun). Dosyadaki sütun adlarını unutmak zorundasınız çünkü hiç önemi yok. Örneğin

: Böyle

Row Number,Date,IP,Session,Whatever,Other columns... 
1,2016-01-01,10.0.0.1,21312,"ABC",... 
2,2016-01-02,10.0.0.2,21889,"XYZ",... 

Ve bir tablo:

| session_id | ip_address | action_date | session_description | 

ithalat için ilgili sütun isim listesi şöyle olacaktır:

(@dummy,action_date,ip_address,session_id,session_description,@dummy,@dummy,@dummy,...) 
Böyle bir CSV dosyası Verilen

Aslında, verileri yalnızca ilk kopyadan içe aktarmanız gerekiyorsa, aslında, arka arkaya kukla değişkenleri bırakabilirsiniz. lumns (yani, yalnızca ilk beş sütundan gelen verilere ihtiyacınız varsa ancak dosyada 10 sütun varsa, içe aktarma listesinde yalnızca beş sütun yazabilirsiniz.) MySQL bir uyarı verecektir (# 1262, "Satır X kesildi ; girdi sütunları ") olduğundan daha fazla veri içeriyordu ancak verileri içe aktaracaktır.

İlgili konular