1

我想加载一个带有由管道分隔的文本文件的表

Table
--------------------------

Id + Employee + Department

--------------------------

文件

0|Some Name|Some department|
1|Another Name|Another department|

我使用 .separator 命令设置“|” 分隔符,然后执行 .import 命令。

我收到以下错误 Error: EMP.TXT line 1: expected 3 columns of data but found 4.

我想知道 sqlite3 中是否有一些选项可以忽略尾随管道。

4

2 回答 2

1

您可以在导入之前删除多余的管道:

< importfile sed 's/|$//' | sqlite3 my.db ".import /dev/stdin MyTable" 
于 2013-06-04T20:44:33.477 回答
1

您可以使用虚拟列导入临时表:

CREATE TEMP TABLE DummyTable(id, emp, dep, nothing);
.import importfile DummyTable
INSERT INTO MyTable SELECT id, emp, dep FROM DummyTable;
DROP TABLE DummyTable;
于 2013-06-04T20:46:56.440 回答