将数据导入sqlite

Ras*_*OFF 1 sql csv sqlite import

有人,请帮助我,因为我的脑袋会爆炸.

我正在尝试在sqlite3中导入数据.我有promos.sqlpromos.csv文件.我试过在sqlite shell中运行它:

.read promos.sql
Run Code Online (Sandbox Code Playgroud)

或者在unix提示符下执行此操作:

sqlite3 development.sqlite3<promos.sqlite3
Run Code Online (Sandbox Code Playgroud)

每次我收到错误

Error: near line 1: near ",": syntax error  
Error: near line 18: near ",": syntax error e.t.c.

在文件中有以下行:

INSERT INTO promos (name, promo_type, category, phone, email, message, created_at)  VALUES  
('John', 1, 3, '+111 11 111 111 11', 'some@email.com', 'Some message', '2009-09-24 12:17:17'),etc
Run Code Online (Sandbox Code Playgroud)

因此,它会在列枚举的每一行中抱怨错误.

如果我试试

.import promos.csv promos
Run Code Online (Sandbox Code Playgroud)

它说:

Error: promos.csv line 1: expected 9 columns of data but found 1

但是在文件中有9列符合预期:

"13","John","1","3","+111 11 111 111 11","some@email.com","Some message","2009-09-24 15:17:17", "2009-09-24 15:17:17"

为什么不起作用?

Ror*_*ory 5

对于sql问题:你的INSERT语句末尾有逗号,而不是你应该有的分号吗?请发布您尝试运行的几行sql文件,并发布CREATE TABLE语句promos.

对于csv问题:sqlite使用| 作为默认分隔符,因此您必须将其设置为使用逗号.此外,sqlite导入无法识别引用的列,因此如果您的数据中包含逗号,则最好使用其他方法导入数据.有关详细信息,请参阅此文