とびさんのブログ

技術チョッピリ 格闘ガッツリ その他フンワリ

sqlite3のインポートエラー

久方ぶりでごんす。

初歩の初歩なんでしょうが

sqlite3でcsv読み込んだ所

Error: datatype mismatch

 

と出ましたよ。

ネットで、sqlite3でcsvはサポートされてない。など書いてあったりして。うーん。と思いましたが

試しに、テスト的にinsertをした後に、export。exportされたのを加工しinportしたらうまく行きました。

* テーブル名やカラムは適当に読み替えてください

separaterをカンマに変更

sqlite> .separateor ,

sqlite> .show

echo: off

explain: off

headers: off

mode: list

nullvalue: ""

output: stdout

separator: ","

width:

 

insert

insert into test values(1,'テストやで',2,2);

 

export

sqlite> .mode csv         

sqlite> .output result.csv

sqlite> select * from test;

sqlite> .quit

 

エクスポートされたcsvを加工

# vim result.csv

--result.csv

2,'テストやん',1,1

3,'テストやん',1,3

 

import

# rails dbconsole

sqlite> .import result.csv test;

 

selectで見たら追加されとるがな。