[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も見ています
-
好きなおでんの具材ドラフト会議しましょう
肌寒くなってきて、温かい食べ物がおいしい季節になってきましたね。 みなさんはおでんの具材でひとつ選ぶなら何にしますか? 1番好きなおでんの具材を教えてください。
-
これ何て呼びますか
あなたのお住いの地域で、これ、何て呼びますか?
-
「覚え間違い」を教えてください!
私はかなり長いこと「大団円」ということばを、たくさんの団員が祝ってくれるイメージで「大円団」だと間違えて覚えていました。
-
牛、豚、鶏、どれか一つ食べられなくなるとしたら?
牛肉、豚肉、鶏肉のうち、どれか一種類をこの先一生食べられなくなるとしたらどれを我慢しますか?
-
うちのカレーにはこれが入ってる!って食材ありますか?
カレーって同じルーから作っても、家庭によって入っているものや味が微妙に違っていて面白いですよね! 「我が家のカレーにはこれが入ってるよ!」 という食材や調味料はありますか?
-
CSVを1行しかインポートしない・・・・・・
MySQL
関連するカテゴリからQ&Aを探す
おすすめ情報
- ・漫画をレンタルでお得に読める!
- ・【大喜利】【投稿~11/12】 急に朝起こしてきた母親に言われた一言とは?
- ・好きな和訳タイトルを教えてください
- ・うちのカレーにはこれが入ってる!って食材ありますか?
- ・好きな「お肉」は?
- ・あなたは何にトキメキますか?
- ・おすすめのモーニング・朝食メニューを教えて!
- ・「覚え間違い」を教えてください!
- ・とっておきの手土産を教えて
- ・「平成」を感じるもの
- ・秘密基地、どこに作った?
- ・【お題】NEW演歌
- ・カンパ〜イ!←最初の1杯目、なに頼む?
- ・一回も披露したことのない豆知識
- ・これ何て呼びますか
- ・チョコミントアイス
- ・初めて自分の家と他人の家が違う、と意識した時
- ・「これはヤバかったな」という遅刻エピソード
- ・これ何て呼びますか Part2
- ・許せない心理テスト
- ・この人頭いいなと思ったエピソード
- ・牛、豚、鶏、どれか一つ食べられなくなるとしたら?
- ・あなたの習慣について教えてください!!
- ・ハマっている「お菓子」を教えて!
- ・高校三年生の合唱祭で何を歌いましたか?
- ・【大喜利】【投稿~11/1】 存在しそうで存在しないモノマネ芸人の名前を教えてください
- ・好きなおでんの具材ドラフト会議しましょう
- ・餃子を食べるとき、何をつけますか?
- ・あなたの「必」の書き順を教えてください
- ・ギリギリ行けるお一人様のライン
- ・10代と話して驚いたこと
- ・家の中でのこだわりスペースはどこですか?
- ・つい集めてしまうものはなんですか?
- ・自分のセンスや笑いの好みに影響を受けた作品を教えて
- ・【お題】引っかけ問題(締め切り10月27日(日)23時)
- ・大人になっても苦手な食べ物、ありますか?
- ・14歳の自分に衝撃の事実を告げてください
- ・架空の映画のネタバレレビュー
- ・「お昼の放送」の思い出
- ・昨日見た夢を教えて下さい
- ・ちょっと先の未来クイズ第4問
- ・【大喜利】【投稿~10/21(月)】買ったばかりの自転車を分解してひと言
- ・メモのコツを教えてください!
- ・CDの保有枚数を教えてください
- ・ホテルを選ぶとき、これだけは譲れない条件TOP3は?
- ・家・車以外で、人生で一番奮発した買い物
- ・人生最悪の忘れ物
- ・【コナン30周年】嘘でしょ!?と思った○○周年を教えて【ハルヒ20周年】
- ・あなたの習慣について教えてください!!
- ・都道府県穴埋めゲーム
このQ&Aを見た人がよく見るQ&A
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
テーブルの列数を調べたい
-
[MySQL]LOAD DATA INFILE一部レ...
-
MySQL テーブルの一部のカラム...
-
WHEREなどの条件が多い場合、ど...
-
MYSQLのストアドでの動的SQLに...
-
betweenを使うyyyy/mm/ddでの範...
-
MYSQLで小数点を表示する場合と...
-
mysqlでカンマデータのgroup by
-
一部のカラムでdistinctし全て...
-
MySQLで先頭にカラムを追加
-
DBの定義のサイズを大きくし過...
-
SQLでカラムを追加し、条件に合...
-
INDIRECT関数の代替方法は?
-
AUTO_INCREMENTに0はダメ?
-
MYSQLで全てのカラムから検索す...
-
GREATESTで NULLをスルーする方...
-
type date にnullをinsert
-
SQLServerでNULLを挿入したいです
-
DBエラーの意味
-
UNIONする際、片方テーブルしか...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
テーブルの列数を調べたい
-
group byで最後のレコードを抽...
-
[MySQL]LOAD DATA INFILE一部レ...
-
フレンドリストのようなものを...
-
MYSQLで小数点を表示する場合と...
-
MYSQLのストアドでの動的SQLに...
-
betweenを使うyyyy/mm/ddでの範...
-
select * での表示が崩れる?
-
WHEREなどの条件が多い場合、ど...
-
時間範囲が重複したレコードを...
-
LOAD DATA INFILE で最初のカラ...
-
「VARCHAR(255)」を「text」に...
-
MySQL 改行コードを含む文字列...
-
MySQL テーブルの一部のカラム...
-
MySQL AUTO_INCREMENTが最大に...
-
whereの使い方が分からないので...
-
デモデータを作るために
-
DBの定義のサイズを大きくし過...
-
INDIRECT関数の代替方法は?
-
一部のカラムでdistinctし全て...
おすすめ情報