首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >尝试使用SQL实用指南导入CSV

尝试使用SQL实用指南导入CSV
EN

Stack Overflow用户
提问于 2020-07-08 18:54:40
回答 1查看 91关注 0票数 0

我是SQL的新手,从实用SQL一书开始学习。我在第4章,正在尝试导入美国人口普查CSV。我已经创建了包含如下所示列的表:https://github.com/anthonydb/practical-sql/blob/master/Chapter_04/Chapter_04.sql

我的问题是,当我试图导入从https://raw.githubusercontent.com/anthonydb/practical-sql/master/Chapter_04/us_counties_2010.csv拉取的CSV时,我得到了以下错误:

代码语言:javascript
复制
"ERROR:  value too long for type character varying(90)
CONTEXT:  COPY us_counties_2010, line 2, column geo_name: "Autauga County,AL,050,3,6,01,001,1539582278,25775735,54571,22135,+32.5363818,-086.6444901,54571,5370..."
SQL state: 22001"

我不确定我错在哪里,希望能得到您的指导。很抱歉,如果这是一个令人讨厌的简单问题,但我仍然在寻找自己的脚。

EN

回答 1

Stack Overflow用户

发布于 2020-07-08 20:28:12

因为错误显示值太长,所以我查看了这个短语所指的值。错误是引用geo_name,根据您从github引用的链接,它是varchar(90)。这意味着geo_name值必须小于或等于90个字符才能“适合”该约束。

看起来CSV正试图将其加载为一个长字符串。所以它不会加载"Autauga County“作为第一个geo_name,尽管这是目标。相反,它会在错误的最后部分显示以下内容:

geo_name:“奥陶加县,AL,050,3,6,01,001,1539582278,25775735,54571,22135,+32.5363818,-086.6444901,54571,5370...”

看起来它试图加载包括逗号在内的整个字符串作为geo_name,所以长度超过90个字符,所以它会给出一个错误。

你想把它加载到什么地方?

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/62793195

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档