簡體   English   中英

PostgreSQL COPY命令問題

[英]PostgreSQL COPY command issues

在我的Postgresql數據庫中,我創建了一個名為NAV_DATA的表, NAV_DATA包含五列:

 id (PKEY)
,name (VARCHAR)
,call_type (VARCHAR)
,date_created (date)

對於這些列,我有一個csv文件,其中包含定界符TAB \\t和Quotechar "
它在中間列中也有一些空字段。

如何允許在復制命令中接受空值?

我想插入列(name, call_type, date_created) 我的csv中沒有字段id

如何將特定的列復制到數據庫中?

問題還在於分隔符TAB \\t

copy "NAV_DATA" (name,call_type,date_created) from 'c:/test.txt' with delimiter '\t' csv

如果您想知道如何在CSV文件中表示NULL值,請查看@Milen在其評論中鏈接的手冊頁。 或者將一些測試數據(包括NULL值)寫入表中,然后使用COPY TO導出。 您將確切獲得COPY FROM所需的格式。

在標准格式中, NULL\\N表示,在標准CSV格式中,分隔符之間沒有任何內容 COPY命令中未提及的列將使用其各自的默認值進行填充。

例如,一個串行列(可能類似於id )將從每一行的關聯序列中獲取nextval() 如果id還沒有默認值,請為其創建一個序列 ,並將nextval('my_sequence_name')列設置為默認值。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM