はじめに
sqliteでimportしようとするとこんなエラーがでることがあります。
expected 3 columns but found 1 - filling the rest with NULL
その場合の対処方&スニペット記事用
エラーしてみる
sqlite> .import /path/to/csv sample_table /Users/hoge/tmp/sample_table.csv:1: expected 3 columns but found 1 - filling the rest with NULL
原因
これはセパレータ(区切り文字)が現認なことが多いです。
みてみます。
sqlite> .show echo: off eqp: off explain: off headers: off mode: list nullvalue: "" output: stdout separator: "|" ←ここ stats: off width:
デフォルトのセパレータが|
なんですねw
対応
対応はセパレータを変えればいいのでコマンドで,(カンマ)
に変えます
sqlite> .separator ','
.sqparator
コマンドで区切り文字を変えるとselect時の表示の区切り文字なんかも変わるので注意しましょう。
確認
※ 何もいわれなければimport成功 sqlite> .import /path/to/csv sample_table
おわり
ということで、簡単なエラーの開所方でしたがまた一つ勉強になりました。