Biri 'mysqlimport' yardımcı programından gelen uyarıları nasıl listeler?


28

Başlamak için, bu MySQL'in içinden veri yüklemekle ilgili değil, "mysqlimport" komut satırı aracını kullanmakla ilgili.

Bir CSV'yi doğrudan masaya yüklemek için kullanıyorum ve ürettiği uyarıları görmem gerekiyor. Ayrıntılı veya hata ayıklama açıkken gösterilecek uyarılar göremiyorum. Herhangi bir fikir?

(MySQL 5.0.5)

Yanıtlar:


31

Mysqlimport ile mümkün değildir, ancak alternatif olarak aşağıdakileri yapabilirsiniz:

mysql --execute="LOAD DATA LOCAL INFILE '$WORKDIR/$table.csv' INTO TABLE $table FIELDS TERMINATED BY ',' OPTIONALLY ENCLOSED BY '\"' IGNORE 1 LINES (listOfColumnNames); SHOW WARNINGS"

listOfColumnNamesUygun bir ayrılmış sütun listesiyle değiştirin .

Sihir (daha önce Eduard'ın söylediği gibi) mysqlimport doğrudan uyarılara girmenin bir yolunu sağlamadığından, YÜKLEME BİLGİ BİLGİSAYARINI ve GÖSTERİ UYARLARI komutunu aynı oturumda bir araya getirmektir.


Tatlı, teşekkür ederim! Eduard'ın yorumunu gördükten sonra böyle bir açıklama yazmaya yeni başlamıştım. Teşekkürler Teşekkür
Brink

Yaparsa bu iş tables.csv(yani değil veritabanının sunucuda) yerel bir dosyadır?
Raffi Khatchadourian

Aşağıdaki işler benim için önce tabloyu oluşturuyor, sonra mysql -u root --execute="LOAD DATA LOCAL INFILE 'c:\\crp\\blah3.csv' INTO TABLE blah3 FIELDS TERMINATED BY ','; SHOW WARNINGS" whateverdbnameegcsv_db ilgili stackoverflow.com/questions/14127529/…
barlop 21:16

ve utf8 hakkında örn ekleyebilir mysql> LOAD DATA LOCAL INFILE 'c:\\crp\\blah5.csv' INTO TABLE blah5 CHARACTER SET UTF8 FIELDS TERMINATED BY ',' OPTIONALLY ENCLOSED BY '"'; SHOW WARNINGS;belirtildiği gibi stackoverflow.com/questions/4957900/...
barlop

Bir sorun, çıkış kodunun her zaman olmasıdır, 0sanırım yukarıdaki komut
dosyasında

5

Diğerlerinin de dediği gibi asıl sorun, GÖSTERİŞ UYARILARININ çalışması için aynı oturumda olmanız gerektiğidir. mysqlimport, içe aktarma işlemi biter bitmez oturumun bağlantısını keser ve mevcut sürümünde uyarıları yakalamayı imkansız hale getirir. Bir yama bağışlamak için bir fırsat gibi geliyor. :)


1

MySlimlimport ile de uyarıları yazdırmak için bir yol bulamadım. Ancak, mysqlimport "LOAD DATA INFILE" den başka bir şey yapmıyorsa, neden veriyi almak için "SHOW WARNINGS" ile veri almak için mysql komutunu kullanmıyorsunuz?


Teşekkürler! Sinir bozucu mysqlimport gerçekten hoş bir oyun değil: /
brink

"SHOW WARNINGS;" kullanın "LOAD" dan sonra komut.
Eduard Wirch
Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.