phpmyadmin(データベース)に事前に用意したテーブル情報を登録したい
今回トレーニングデータをまとめたテーブル情報をスプレッドシートにまとめており、
それを使ってphpmyadminに登録していきます。
テーブル情報をまとめたファイルをCSVにダウンロードする
画像のようにCSVにダウンロードしていきます。
Macの場合Finderに保存されるので確認もしておきましょう。
Finderに保存されたCSVファイルをテキストエディタに置いてあげる
この作業をしないと後ほどインポートの際に CSV 入力のカラム数が不正です (行: 1)。 というエラーが発生してしまいます。
エクセルでCSVファイルを作るとBOMっていうのが各文字に追加されていてうまくインポートできないという理由らしく、エディタに保存してそれをインポートしてあげることで可能となります。
phpmyadmin上でインポート作業を行う
インポートするテーブルを指定したうえで画面上部にあるインポート画面を押下する。
ファイルを選択し実行ボタンを押下
FinderのデスクトップやダウンロードフォルダにあるCSVファイルではなく
先程保存したソースコードを書いているフォルダの中にあるCSVファイルを選択しましょう。
でないと、先程言ったエラーが発生します。
これでインポートが完成します。
重要なこと
スムーズにインポートできるかなと思ったのですが、意外と落とし穴があり時間をかけてしまいました。
2つ意識して取り組んでいけば問題なくインポートまでたどり着けるかと思います。
① テキストエディタに保存したものをインポートすること
先程も書きましたがエクセルでCSVファイルを作るとBOMっていうのが各文字に追加されていてうまくインポートできないという事象が起こります。
一度テキストエディタを経由することでこの問題を回避することができるようになります。
必ずエディタに一度保存をし、そのファイルをインポートするようにしましょう。
② phpmyadminとCSVファイルのカラムの数をあわせる
CSVファイルでは各カラムを区切る際カンマを使って区切られます。
お互いのカラム数が一致しないとエラーが起きインポートすることができなくなってしまいます。
今回引っかかってしまったのが、
created_atとupdated_atに関してです。
CSVファイルには最初そのカラムを気にせずにいたのですが、その2つのカラムも意識した上で書いてあげることが必要でした。
今回はその2カラムにNULLとすべて記載をして回避することができました。
最後の行なので空欄だとだめっぽいので、NULLなど記載し回避することをおすすめします。
まとめ
今回ですが、このような形でphpmyadminを使ってCSVファイルをインポートするやり方を選択しましたが、
もともとはmysqlを使ってCSVファイルをインポートするつもりでした。
ですが、エラーに阻まれてしまい泣く泣く今回のやり方でインポートすることにしました。
今回うまく行かなかったmysqlを使ったインポートもできるようにして
記事としてあげていけたらいいなと考えております。
以上です!