1
有人请帮助我,因为我的头会爆炸。将数据导入sqlite
我想在sqlite3中导入数据。我有promos.sql
和promos.csv
文件。我试图在sqlite的shell中运行此:
.read promos.sql
还是这样做在UNIX提示:
sqlite3 development.sqlite3<promos.sqlite3
,每次我得到错误
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', '[email protected]', 'Some message', '2009-09-24 12:17:17'),etc
so,it co在每行列列举错误的地方。
如果我尝试
.import promos.csv promos
它说:
Error: promos.csv line 1: expected 9 columns of data but found 1
,但文件是9列如预期:
"13","John","1","3","+111 11 111 111 11","[email protected]","Some message","2009-09-24 15:17:17", "2009-09-24 15:17:17"
为什么不工作?
非常感谢。你给了我一个正确的主意。最初我用sentece,比如'INSERT INTO tbl_name(col_A,col_B)VALUES(1,2,3),(4,5,6),(7,8,9);'但似乎sqlite不支持这个格式。所以我已经为每个记录创建了带有单独查询的新SQL文件,并且它可以工作。 – RaskolnikOFF
是的,SQL通常不支持该语法。你可能需要单独的INSERT语句,或者你可以像INSERT INTO mytable SELECT'aValue','another value'UNION SELECT'2nd row','some value'UNION SELECT'这是第三行','xxx'' ... – Rory