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