1

有人,请帮助我,因为我的头要爆炸了。

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

.read promos.sql

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

sqlite3 development.sqlite3<promos.sqlite3

每次我得到错误

错误:第 1 行附近:“,”附近:语法错误  
错误:第 18 行附近:“,”附近:语法错误等

在文件中有以下行:

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

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

如果我尝试

.import promos.csv promos

它说:

错误:promos.csv 第 1 行:预期 9 列数据,但找到 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"

为什么它不起作用?

4

1 回答 1

5

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

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

于 2012-05-26T15:19:56.720 回答