繁体   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