
[MySQL]LOAD DATA INFILE一部レコードがスキップされてしまう。
いつもお世話になっております。selfesteemです。
今回はMySQLについての質問です。
仕事である機関が提供するデータをMySQLで扱うのですが、上手くいかなくて困っています。
テキスト形式での提供で、読み込み用スクリプトが付属していました。
LOAD DATA LOCAL INFILE "ファイル名" INTO TABLE "テーブル名" ~
で読み込むのですが、一部の行がスキップされてしまいます。
Query OKとは出てきているのですが、すべてのレコードがどうしてもインポートできず、
Skipped: ~ のようにスキップされた旨のメッセージが表示されています。
いろいろ試行錯誤してみたのですが、どこに問題があるのかいまいちつかめないでいます。
このLOAD DATA INFILE~で読み込む場合にスキップされるケースというのはどのような場合が考えられるのでしょうか?
また、何行目がスキップされたのかや、スキップされた理由を詳しく調べることはできますでしょうか?
無知ですみませんが、本当に困っているので教えていただけると助かります。
よろしくお願いいたします。
No.2ベストアンサー
- 回答日時:
単純に考えるなら、こんな原因が考えられます。
・プライマリーキー、ユニークインデックスがあって重複行がスキップされた。
・カラムの型やNOT NULL制約に引っかかった
・文字コードや改行コードで、正常にインポートできない行があった
・一部のカラムのバイナリデータをロードしようとして正常に読み込めない
etc…
どちらにせよ、MySQLのバージョン、テーブル定義、読み込むファイルや作業手順等分からないことだらけですので、原因は判断できませんが…
spieder様、ご回答ありがとうございます。
そうですね。もう少し会社から情報をもってくるべきでした…すみません。
正常終了にしてもいろいろ原因が考えられるのですね。
挙げていただいた項目について、週明けにでもチェックしてみたいと思います。
chukenkenkou様のご回答とあわせてもう一度試行錯誤してみます。
本当に、ご親切にありがとうございますm(_ _ )m
No.1
- 回答日時:
まず、MySQLのバージョンを、少なくともMySQL 4.0、4.1、5.0といったレベルまでは、最低限明記するようにしてください。
MySQL 4.0以前とMySQL 4.1では、大きな機能拡張に加え、いくつかの仕様変更があります。さらに、MySQL 5.0でも同様です。仕様変更に関しては、「旧仕様と同等に動かしたいなら、SQL-MODEでオプションを指定する」といった設定を行うことで可能なものもあります。
>LOAD DATA INFILE~で読み込む場合にスキップされるケースというのはどのような場合が
>考えられるのでしょうか?
少なくとも、次のような情報を提示して欲しいのですけどね。
(1)LOAD DATA INFILE文の指定内容を省略しすぎない
(2)表定義での列構成、主キー、各列のデータ型、文字コード
(3)どういうCSVデータを入力しているか
・・・特にNULLとしたいデータがある場合や日時データなど
そうでなければ、せっかくアドバイスしても、質問者さんのケースには該当せず、無駄な回答になってしまう可能性がありますから。
>また、何行目がスキップされたのかや、スキップされた理由を詳しく調べることはできますでしょうか?
MySQLのマニュアルを、少しは見ているでしょうか?
LOAD DATA INFILEの項に、「SHOW WARNINGS を利用する」といった説明があり、リンクも貼られていますよ?
まずはマニュアルを見て、エラーや警告内容を確認してください。
そして、その内容に従い対処してみてください。もし対処方法が分からない部分があれば、前述の項目を提示した上で、再質問するようにすれば、より適切な回答を、より早くもらえる可能性があると思いますよ。
参考URL:http://dev.mysql.com/doc/refman/5.1/ja/load-data …
chukenkenkou様、ご回答誠にありがとうございます。
バージョン等の情報不足に関しては重々承知しておりますが、会社のPCでは質問ができないため、
家に帰ってから記憶を頼りに質問しましたため、このような質問となってしまいました。
お気分を害されたこと深くお詫びいたします。
大変参考になる情報ありがとうございます。
気になっていたのは、クエリは正常終了であるという点です。
エラーログには、出力されておりませんでした。
Warningも0件でしたので、SHOW WARNINGS は調べておりませんでした。
ただ、改めてリンク先を確認させていただいたところ、
スキップされた理由も調べられそうな感じですね!
週明けに、一度確認してみたいと思います。
どうもありがとうございました。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- C言語・C++・C# pythonのファイルの並びでの読み込みとリストについて 4 2022/04/13 03:52
- JavaScript 【jquery】EasyUIのSubGridにMySQLのテーブルデータを表示&編集にしたい 5 2022/05/02 13:10
- Visual Basic(VBA) ExcelからAccessのテーブルに書き込む時に時間がかかる 1 2022/10/14 20:38
- PostgreSQL PostgressからMySQL(MariaDB)へ構造を変更する際のTimestamp等について 2 2023/04/04 12:09
- XML PHP.laravelについて 1 2023/07/06 15:26
- Android(アンドロイド) 今日楽天LINKで、電話をかけようとすると 新機能追加に伴う規約変更のお知らせ 同意しないと使えな 2 2023/07/05 16:18
- MySQL XamppでインストールしたMySQLのフォルダのWinRARでのバックアップについて 1 2022/06/22 18:55
- PHP PHPSpreadsheetによる書き出し時のページネーション方法について 1 2023/03/20 10:35
- その他(プログラミング・Web制作) Python - Excel で Webからデータを連続取得したいのですが エラーが出ます 1 2023/07/06 20:08
- MySQL MySQLのテーブル作成でハイフン - は使用できないのでしょうか? 2 2022/10/21 16:50
このQ&Aを見た人はこんなQ&Aも見ています
-
初めて見た映画を教えてください!
初めて見た映画を覚えていますか?
-
初めて自分の家と他人の家が違う、と意識した時
子供の頃、友達の家に行くと「なんか自分の家と匂いが違うな?」って思いませんでしたか?
-
モテ期を経験した方いらっしゃいますか?
一生に一度はモテ期があるといいますが、みなさんどうですか? いまがそう! という方も、「思い返せばこの頃だったなぁ」という方も、よかったら教えて下さい。
-
洋服何着持ってますか?
洋服を減らそうと思っているのですが、何着くらいが相場なのかわかりません。
-
「これいらなくない?」という慣習、教えてください
現代になって省略されてきたとはいえ、必要性のない慣習や風習、ありませんか?
-
CSVを1行しかインポートしない・・・・・・
MySQL
-
load dataするときに、最後の列(文字列)がちゃんと入らない
MySQL
-
データベースのINT型項目にNULLはNG?
MySQL
-
-
4
LOAD DATA LOCAL INFILE
PHP
関連するカテゴリからQ&Aを探す
おすすめ情報
- ・漫画をレンタルでお得に読める!
- ・一番好きなみそ汁の具材は?
- ・泣きながら食べたご飯の思い出
- ・「これはヤバかったな」という遅刻エピソード
- ・初めて自分の家と他人の家が違う、と意識した時
- ・いちばん失敗した人決定戦
- ・思い出すきっかけは 音楽?におい?景色?
- ・あなたなりのストレス発散方法を教えてください!
- ・もし10億円当たったら何に使いますか?
- ・何回やってもうまくいかないことは?
- ・今年はじめたいことは?
- ・あなたの人生で一番ピンチに陥った瞬間は?
- ・初めて見た映画を教えてください!
- ・今の日本に期待することはなんですか?
- ・集中するためにやっていること
- ・テレビやラジオに出たことがある人、いますか?
- ・【お題】斜め上を行くスキー場にありがちなこと
- ・人生でいちばんスベッた瞬間
- ・コーピングについて教えてください
- ・あなたの「プチ贅沢」はなんですか?
- ・コンビニでおにぎりを買うときのスタメンはどの具?
- ・おすすめの美術館・博物館、教えてください!
- ・【お題】大変な警告
- ・洋服何着持ってますか?
- ・みんなの【マイ・ベスト積読2024】を教えてください。
- ・「これいらなくない?」という慣習、教えてください
- ・今から楽しみな予定はありますか?
- ・AIツールの活用方法を教えて
- ・最強の防寒、あったか術を教えてください!
- ・歳とったな〜〜と思ったことは?
- ・モテ期を経験した方いらっしゃいますか?
- ・好きな人を振り向かせるためにしたこと
- ・スマホに会話を聞かれているな!?と思ったことありますか?
- ・それもChatGPT!?と驚いた使用方法を教えてください
- ・見学に行くとしたら【天国】と【地獄】どっち?
- ・これまでで一番「情けなかったとき」はいつですか?
- ・この人頭いいなと思ったエピソード
- ・あなたの「必」の書き順を教えてください
- ・14歳の自分に衝撃の事実を告げてください
- ・人生最悪の忘れ物
- ・あなたの習慣について教えてください!!
このQ&Aを見た人がよく見るQ&A
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
select * での表示が崩れる?
-
WHEREなどの条件が多い場合、ど...
-
テーブルの列数を調べたい
-
group byで最後のレコードを抽...
-
MySQL テーブルの一部のカラム...
-
MYSQLのストアドでの動的SQLに...
-
mysqlで年と月を別々のカラムに...
-
betweenを使うyyyy/mm/ddでの範...
-
[MySQL]LOAD DATA INFILE一部レ...
-
異なる二つのテーブルの結合に...
-
時間範囲が重複したレコードを...
-
MySQL AUTO_INCREMENTが最大に...
-
INDIRECT関数の代替方法は?
-
一部のカラムでdistinctし全て...
-
DBの定義のサイズを大きくし過...
-
SELECT文で、指定カラム以外の...
-
MYSQLで全てのカラムから検索す...
-
BULK INSERT時のNull許容について
-
AUTO_INCREMENTに0はダメ?
-
LIKEの右側にカラムを指定でき...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
テーブルの列数を調べたい
-
group byで最後のレコードを抽...
-
MYSQLで小数点を表示する場合と...
-
[MySQL]LOAD DATA INFILE一部レ...
-
betweenを使うyyyy/mm/ddでの範...
-
WHEREなどの条件が多い場合、ど...
-
フレンドリストのようなものを...
-
MySQL AUTO_INCREMENTが最大に...
-
MySQL テーブルの一部のカラム...
-
時間範囲が重複したレコードを...
-
データの暗号化について
-
select * での表示が崩れる?
-
MYSQLのストアドでの動的SQLに...
-
MYSQLのレコードを上書きしたい...
-
「VARCHAR(255)」を「text」に...
-
VB.NETでSQL-SERVERにクエリを...
-
[MYSQL]日付のカラムにデーター...
-
mysqlで年と月を別々のカラムに...
-
MySQLでカラム内の値の先頭の数...
-
select文の条件指定
おすすめ情報