Csv
在填充串列列的同時複製 csv 數據
我已經創建了我的第一個 postgres 表,我正在嘗試解決如何將 .csv 文件複製到表中,同時在第 1 列(ID)中生成一個序列號,該序列號從 1 開始並向上計數(即1, 2 ,3 等)為每一行。我一直在使用命令:
COPY sales_table FROM '/home/perl_experiments/xmlcsv.txt' (DELIMITER('|'));
這試圖複製 csv 的內容,但它似乎將 .csv 中的第一列數據放入表的第一列。我已將表格的第一列指定為 bigserial,並且我假設該列將自動填充,而 csv 的內容將繞過第 1 列並從第 2 列開始填充表格。顯然情況並非如此,我有錯過了至關重要的一步。誰能闡明我錯過的步驟?這是我創建的表的摘要:
Column Type Not Null Default ID bigint NOT NULL nextval('"sales_table_Entry Id_seq"'::regclass) [pk] ProdNo bigint Title character varying url character varying Price integer
您可以指定要填寫命令的各個列
COPY
:COPY table_name [ ( column [, ...] ) ] FROM { 'filename' | STDIN } [ [ WITH ] ( option [, ...] ) ]
( http://www.postgresql.org/docs/9.1/static/sql-copy.html )
因此,在 中明確指定您的 CSV 列
COPY
,省略 bigserials 列。