如何将csv文件导入mysql表并自动递增

Atm*_*tma 2 mysql csv mysqlimport

我正在尝试使用以下命令将 csv 文件导入 mysql:

mysqlimport --columns=name,amount,desc --ignore-lines=1 --fields-terminated-by=, --verbose --local -u muser -p mydb file.csv
Run Code Online (Sandbox Code Playgroud)

该文件包含字段但不包含主键。它看起来像这样:

name, amount, desc
Run Code Online (Sandbox Code Playgroud)

我的 mysql 表如下所示:

CREATE TABLE `organization` (
  `id` int(11) NOT NULL AUTO_INCREMENT,
  `name` varchar(128) DEFAULT NULL,
  `amount` varchar(128) DEFAULT NULL,
  `desc` varchar(128) DEFAULT NULL,
Run Code Online (Sandbox Code Playgroud)

如何使用mysqlimport以导入 csv 文件并生成自动递增的 ID?

当我运行它时,我收到以下错误:

mysqlimport:错误:1467,无法从存储引擎读取自动增量值,当使用表:组织时

Sha*_*dow 7

使用--columns 参数指定字段的映射。列名的顺序指示如何将数据文件列与表列匹配。

mysqlimport --columns=name,amount,desc...
Run Code Online (Sandbox Code Playgroud)


Mic*_*ael 5

使用前导空字段扩展您的 csv:

id,name,amount,desc
,john,10,xz
,paul,20,ac
Run Code Online (Sandbox Code Playgroud)

  • 您只需点击几下即可在 Microsoft Excel 上编辑 csv 您可以为所有条目添加空白列 (3认同)
  • 这可行,但我有数百万行,并且无法修改 csv。 (2认同)
  • 但这不是您提供的信息,也没有理由对给定问题的适当解决方案投否决票。对于其他人来说,这可能是一个有用的快速解决方案……仅对不符合您个人(且未传达的)需求的情况进行否决是不公平的。 (2认同)