第 1 行不包含所有列的数据

Ben*_*Ben 8 mysql csv

我正在尝试使用工作台将 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,'')
;
Run Code Online (Sandbox Code Playgroud)

但它似乎又在抱怨(可能)同样的事情:

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

我已经查看了这个问题和这个问题的答案,但都没有解决我的问题。

表创建查询:

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;
Run Code Online (Sandbox Code Playgroud)

正如您从我的上传查询中看到的,我期望“ParentSE”和“SupplierId”为空,即使它们是外键字段。

csv 的每一行都已正确索引(即有足够的字段来匹配表):

1,1,,P7YCGPF,Abg va hfr,Nfcver Npre Yncgbc,13,"Qngr npdhverq: 61/52/7566
Zbqry: 0297T
Frevny Ahzore: YKE057551588125P16156",0,1,
Run Code Online (Sandbox Code Playgroud)

出了什么问题?

jly*_*lyh 5

csv 文件中任何字段中的数据是否包含逗号?当您尝试将其上传到 MySQL 时,这会搞乱字段终止条件。如果是这种情况,请尝试将其另存为制表符分隔的 txt 文件并替换

fields terminated BY ','
Run Code Online (Sandbox Code Playgroud)

fields terminated BY '\t'
Run Code Online (Sandbox Code Playgroud)

抱歉,如果这不是您问题的正确答案,我想将此作为评论发布,但我的声誉不够高:P