我有一个包含120万个条目的CSV文件,这些条目代表模拟值,例如当前值。当我保存数据记录时,我想一次性插入这些值。
当我的软件下一次运行时,它需要知道最后一个主键id是什么。我认为可能会隐式处理主键内容,以便下一次运行时自动获得正确的主键。
在我的PostgreSQL数据库中,我有下表
CREATE TABLE tbl_test
( id INTEGER primary key,
value INTEGER
);
此外,我还有一个只有一列的CSV编码文件。具体内容如下:
value
------
89
12
234
然后,我使用以下命令插入我的值。
Using writer = conn.BeginTextImport("COPY tbl_test (value) FROM
'C://temp//analog.csv'")
我预计结果将如下表所示,但不可能像我预期的那样插入数据。
是否可以在COPY
命令的帮助下添加CSV文件的内容,以便id列自动递增,结果如下所示?
id | value
-----+-------
1 | 89
2 | 12
3 | 234
2条答案
按热度按时间2hh7jdfx1#
不确定评论中的错误之处,为什么不尝试连载:
cuxqih212#
您可以从命令行执行此操作。
sudo-u您的用户psql-d您的数据库名-c“\从file.csv分隔符‘,’csv”复制表名(col1,col2,col3)
如果您想跳过文件末尾的标题,请将CSV Header“