我尝试用下面的命令将csv文件导入mysql:
mysqlimport --columns=name,amount,desc --ignore-lines=1 --fields-terminated-by=, --verbose --local -u muser -p mydb file.csv
该文件包含字段,但不包含主键。它看起来如下所示:
name, amount, desc
我的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,
如何使用mysqlimport
导入csv文件并生成自动递增的Id?
当我运行这个程序时,我得到以下错误:
mysqlimport:我的密码:错误:1467,使用表时无法从存储引擎读取自动增量值:组织机构
4条答案
按热度按时间e3bfsja21#
使用--columns参数指定字段的Map。列名的顺序指示如何将数据文件列与表列匹配。
68de4m5k2#
使用前导空字段展开csv:
omtl5h9j3#
对于那些使用phpmyadmin UI来导入和/或您的表可能有大量的列,并且您不想通过冗长乏味的sql语句导入的用户,请执行以下操作;
1.使用任何电子表格编辑器(如microsoft excel)在ID列所在的位置添加一个空白列。
1.如果出现“不正确的整数值:'' for column 'id' at row 1”错误,请填写您使用0创建的空白id,它们将在插入时自动递增。
注意:当用电子表格编辑器编辑csv文件时,只需交叉检查所有列(尤其是日期或货币列)是否没有格式化为编辑器的默认格式,这可能与您的原始格式不同。
dphi5xsq4#
解决此问题的最佳方法是,在将CSV文件导入MYSQL时,勾选复选框(在导入时发现重复键时更新数据(添加重复键更新))如屏幕截图MYSQL import data page screenshot所示