我尝试导入一个包含列名"邮政编码"," 2010年人口"," Land-Sq-Mi"和"密度每平方英里"进入我的测试表,名为derp - 这就是为什么我在开头有drop语句,所以我不复制任何行,并且可以在每次迭代中开始清理。
代码如下:
DROP TABLE derp;
CREATE TABLE public.derp("Zip Code" varchar, "2010 Population" integer, "Land-Sq-Mi" numeric, "Density Per Sq Mile" numeric);
COPY derp("Zip Code", "2010 Population", "Land-Sq-Mi", "Density Per Sq Mile")
FROM '/home/michael/PycharmProjects/cmsDataProject/Zipcode-ZCTA-Population-Density-And-Area-Unsorted.csv'
DELIMITER','
CSV HEADER;
这可以很好地导入实际数据,但它会在pgadmin III数据视图中将列标题留空。我查看了Nano中的源文件 - 标题就在那里,如果它们不是,那么查询就会抛出一个语法错误,告诉我我尝试导入的列没有关系。
关于我做错了什么的任何想法?
编辑:我希望pgadmin III数据视图显示标题名称,并且可能是一种验证列实际命名的方法,即使它们没有被导入也没有显示。重申一下,标题后面的每一行都是完整的,在视图中,只有标题行是空白的。
编辑2:当我CREATE TABLE public.derp();
然后手动添加列时,它们会在数据视图中正确显示。关于多行查询语句的一些事情导致了破坏。
答案 0 :(得分:2)
所以pgadmin没有显示列名,但显示数据?
如果你在pgadmin中打开一个表,然后改变表,但保持表窗口打开,它似乎丢失了列名。
用桌子关闭窗口。单击pgadmin树视图中的表图标并刷新表,然后重新打开表窗口。