【问题标题】:add fixed value to column in Mysql where loading data from csv file将固定值添加到 Mysql 中从 csv 文件加载数据的列
【发布时间】:2018-06-22 07:08:20
【问题描述】:

我需要在从 csv 文件导入的一组数据中输入一个文本值来表示年份(每一行都相同)。我每次都收到语法错误。如何指定文本值以便正确填充列?

Load data local infile 'C:/Users/Candace.....csv'
into table estimate(State, '2010', Population)
fields terminated by ',';

【问题讨论】:

  • 你能补充你的问题吗?似乎与您对我的回答的评论不一致。请提供更多细节和样本
  • 我在 csv 文件的后续列中有一列用于 2010-2016 年的州和人口数据。 (State, 2010, 2011, 2012, etc.) 需要将表格拉入堆叠,(State, Year, Population) 换句话说,2011 年列中的人口数据将低于表中 2010 年的数据在 SQL 中创建。希望这是有道理的。
  • 什么?这与您最初的问题无关?!基本上你只是想导入 CSV 并旋转表格?
  • 对不起,我显然是一个认真的新手!
  • 这不是关于成为新手,而是关于能够正确解释你的问题是什么。任何人都可以做到。您在问题中写的内容意味着日期不是 CSV 的一部分,您希望在导入期间手动添加它。现在在评论中您说日期实际上是 CSV 的一部分,但日期在列中,您希望将它们作为行导入。如果您需要帮助,您需要编辑您的问题以澄清它。在表格中提供几行 CSV 和您期望的结果,这将有很大帮助。

标签: mysql sql csv


【解决方案1】:

未经测试,但根据the documentation 它应该可以工作:

LOAD DATA INFILE 'file.csv'
INTO TABLE estimate
(State, Population)
SET Year = 2010;

文档中的相关部分:

SET 子句可用于提供不是从输入文件派生的值。

【讨论】:

  • 不幸的是,这会在同一列中返回州和人口数据,年份是正确的,然后人口列包含空值。
猜你喜欢
  • 2016-04-17
  • 1970-01-01
  • 1970-01-01
  • 2011-02-10
  • 2015-06-08
  • 1970-01-01
相关资源
最近更新 更多