Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/mysql/69.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
如何导入不包含';我不能将每一列的数据都输入mySQL_Mysql_Csv_Load Data Infile - Fatal编程技术网

如何导入不包含';我不能将每一列的数据都输入mySQL

如何导入不包含';我不能将每一列的数据都输入mySQL,mysql,csv,load-data-infile,Mysql,Csv,Load Data Infile,我正在尝试使用以下查询将CSV文件导入MySQL(使用Workbench): 问题是,文件中的某些行没有两列的数据(即,某些行缺少生日) 以下是MySQL导出的table CREATE语句: CREATE TABLE `user_birthdays` ( `id` int(11) NOT NULL AUTO_INCREMENT, `username` varchar(150) DEFAULT NULL, `user_birthday` varchar(45) DEFAULT NULL

我正在尝试使用以下查询将CSV文件导入MySQL(使用Workbench):

问题是,文件中的某些行没有两列的数据(即,某些行缺少生日)

以下是MySQL导出的table CREATE语句:

CREATE TABLE `user_birthdays` (
  `id` int(11) NOT NULL AUTO_INCREMENT,
  `username` varchar(150) DEFAULT NULL,
  `user_birthday` varchar(45) DEFAULT NULL,
  PRIMARY KEY (`id`),
  UNIQUE KEY `id_UNIQUE` (`id`)
) ENGINE=InnoDB AUTO_INCREMENT=65536 DEFAULT CHARSET=utf8$$
如果存在不包含所有列的值的记录,如何加载文件

更新

下面是一些示例行;我确实发现有一行是完全空白的;我删除了它,错误消失了,但表似乎仍然没有填充。(是的,在某些情况下,用户名是数字的;这只是从字母排序文件的顶部开始。还有更多的用户名是“真实”的。)


您必须确保文件中没有空行,即使某个字段缺少值,分隔符(在您的示例中为逗号)仍然存在

现在,如果文件是在Windows计算机上生成的,则可能需要将行终止符更改为
\r\n

LOAD DATA INFILE 'badBDay.csv' 
INTO TABLE user_birthdays 
FIELDS TERMINATED BY ',' 
LINES TERMINATED BY '\r\n' 
(username, user_birthday)

即使一行没有生日值,文件中是否也有逗号?请显示文件中的一些示例行。是。但当我尝试运行它时,它仍然给我一个错误,告诉我某些行没有所有列的数据。在一秒钟内将样本行添加到OP。确定。您在什么平台上(Windows或Unix)?或者更重要的是,文件是在哪个平台上生成的?两者都是Windows。根据你下面的回答,我确实更改了行尾。没什么不同。没有迹象表明它正在运行-没有错误,但也没有成功消息。这个表仍然是空的。当我遇到类似的问题时,你已经解决了这个问题。正如我在OP中所说的那样,我删除了空白行,而分隔符是用不完整的数据排成的。这是一台Windows机器,所以我会尝试更换终结者。不,那没用。没有错误,但它没有给出任何运行指示,并且表仍然为空。请尝试从MySQL命令行运行加载数据填充。通过在本地环境中重新创建场景,我可以毫无问题地加载文件。
109,12/24/1979
124,03/31/1987
142,11/30/1965
143,
233,11/03/1970
311,
321,07/08/1971
LOAD DATA INFILE 'badBDay.csv' 
INTO TABLE user_birthdays 
FIELDS TERMINATED BY ',' 
LINES TERMINATED BY '\r\n' 
(username, user_birthday)