MySQLにCSVファイルを用いてデータを登録してみよう!!

あけましておめでとうございます。 今年はより更新頻度を上げて、閲覧してくださる方の為になるようなことを簡潔に書いていければと思います!! 今回は、データをデータベースに登録する上で、より効率化を図るべく csvファイルを用いて登録していこうと思ったので、 データの登録までをつまづいた部分を含めて書いていきます。 最初はローカルのMySQLに登録をしてみて、 その後にAWSのEC2内にあるMySQLに登録してみる といった流れでテストしてみました。

MySQLのテーブル構成

まずはテーブル構成を簡単に記載します。
カラム名データ型オプション
idint(11)primary key , auto_incremet
namevarchar(255)
addressvarchar(255)
entry_timetimestampdefault current_timestamp

CSVファイル

上記のデータベースに登録するためには次のようなCSVファイルを作成します。 最初の「,」の前と、最後の「,」の後にはそれぞれ idとentry_timeが自動的にデータベースに登録されるように空白にしております。

SQL文を用いてCSVデータをMySQLに登録

それではSQL文でCSVファイルのデータを登録してみます。 ローカルでCSVファイルを登録しようとすると といったエラーが出てしまいました。 (このエラーはidだけではなく、entry_timeにも該当します。) 原因は、 空白の文字はint型とtimestamp型には登録できないようです。 また、NULLも入りません。。。 しょうがないので、対応策としてSQL文の一番後ろに登録するカラムを記載して、CSVファイルの記載の仕方も変えました。 カラム数が多くなると大変になるという欠点はありますが、データの登録はできたのでサーバーでもテストしてみます。 すると、まずは といったエラー ローカルとサーバーではSQL文が異なるらしい。。。 これでなんとかうまく行きました!! 一応、CSVファイルに「,」を付けた状態でデータ登録してみると できた!! MySQLのバージョンの違いなのでしょうか?? ローカル:5.6.27 サーバー:5.5.40 うーん、サーバーの方がバージョン古い。 (すみません。詳しい原因はわかりませんでした。)

まとめ

結果として、下記でサーバーのMySQLに登録出来ました。

Usami Go

コメントを残す

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です