[英]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.