第1行不包含所有列数据

问题描述 投票:2回答:4

我想上传使用工作台一个CSV到MySQL,到目前为止,我所有的尝试都无果而终证明。

我最初尝试使用“上传”功能,但它抱怨任何空/空字段我了。

我现在在尝试使用此功能:

LOAD DATA infile 'C:\\temp\\SubEq.csv'
INTO TABLE cas_asset_register.subequipment
fields terminated BY ','
lines terminated BY '\n'
(seid, parentme, @vparentse, name, status, description, equipmenttype, comments, removed, active, @vsupplierid)
SET
ParentSE = nullif(@vparentse,''),
SupplierId = nullif(@vsupplierid,'')
;

但同样,这似乎是在抱怨(可能)同样的事情:

错误代码:1261年第1行不包含所有列数据

我有一个看答案为thisthis的问题,但也没有解决我的问题。

该表中创建查询:

CREATE TABLE `subequipment` (
  `SEId` int(11) NOT NULL AUTO_INCREMENT,
  `ParentME` int(11) DEFAULT NULL,
  `ParentSE` int(11) DEFAULT NULL,
  `Name` varchar(255) DEFAULT NULL,
  `Status` varchar(100) DEFAULT NULL,
  `Description` varchar(255) DEFAULT NULL,
  `EquipmentType` int(11) DEFAULT NULL,
  `Comments` text,
  `Removed` tinyint(1) NOT NULL DEFAULT '0',
  `Active` tinyint(1) DEFAULT '1',
  `SupplierId` int(11) DEFAULT NULL,
  PRIMARY KEY (`SEId`),
  UNIQUE KEY `Unique_Constraint_ME` (`Name`,`ParentME`,`Active`),
  UNIQUE KEY `Unique_Constraint_SE` (`Name`,`ParentSE`,`Active`),
  KEY `ParentME` (`ParentME`),
  KEY `ParentSE` (`ParentSE`),
  KEY `EquipmentType` (`EquipmentType`),
  KEY `fk_subequipment_supplierequipment` (`SupplierId`),
  KEY `fk_subequipment_status_idx` (`Status`),
  CONSTRAINT `fk_subequipment_majorequipment` FOREIGN KEY (`ParentME`) REFERENCES `majorequipment` (`MEId`) ON DELETE CASCADE ON UPDATE CASCADE,
  CONSTRAINT `fk_subequipment_status` FOREIGN KEY (`Status`) REFERENCES `componentstatus` (`StatusName`) ON UPDATE CASCADE,
  CONSTRAINT `fk_subequipment_subequipment` FOREIGN KEY (`ParentSE`) REFERENCES `subequipment` (`SEId`) ON DELETE CASCADE ON UPDATE CASCADE,
  CONSTRAINT `fk_subequipment_supplierequipment` FOREIGN KEY (`SupplierId`) REFERENCES `supplierinfo_equipment` (`SupplierId`) ON UPDATE CASCADE,
  CONSTRAINT `fk_subequipment_userdefinedcode` FOREIGN KEY (`EquipmentType`) REFERENCES `userdefinedcode` (`UDCId`) ON UPDATE CASCADE
) ENGINE=InnoDB DEFAULT CHARSET=utf8;

正如你可以从我上传的查询看到,我期待“ParentSE”和“供应商ID”是空的,即使他们是外键的字段。

该CSV的每一行适当的索引(即,有足够的字段相匹配的表):

1,1,,P7YCGPF,Abg va hfr,Nfcver Npre Yncgbc,13,"Qngr npdhverq: 61/52/7566
Zbqry: 0297T
Frevny Ahzore: YKE057551588125P16156",0,1,

什么错?

mysql csv
4个回答
1
投票

请问您在您的任何字段的数据在CSV文件中包含逗号?这螺丝了场终止条件,当你试图把它上传到MySQL。如果是这样的情况下,尝试将其保存为制表符分隔txt文件,并替换

fields terminated BY ','

fields terminated BY '\t'

很抱歉,如果这是不正确的回答你的问题,我想张贴此作为一个评论,但我的名声不够高:P


0
投票

我有同样的问题,并在CSV文件比较的列和我的数据库表解决了这个问题。列数,该列的类型,以及在某些情况下为字符串类型空值(例如,“”为字符串类型)应该是相同的。


0
投票

我得到了同样的错误在我的CSV文件的最后一行。这可能不是解决你的问题,但它解决了我的,希望它可以帮助别人。

对我来说,我需要一个回车符在文件的最后获得到一个新的生产线。进口没有错误,现在


0
投票

对我来说,问题是,文件必须是制表符分隔。我读了一些用户报告说,该文件必须以分号分隔。

© www.soinside.com 2019 - 2024. All rights reserved.