我正在嘗試使用工作臺將csv上傳到MySQL中,到目前爲止,我所有的嘗試都沒有成功。第1行不包含所有列的數據
我最初試圖使用「上傳」功能,但它抱怨我有任何空/空字段。
我現在在嘗試使用此功能:
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個沒有按「T包含所有列的數據
我有看答案爲this和this的問題,但也沒有解決了我的問題。
表創建查詢:
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,
什麼錯?
你是說從db到csv的查詢你用什麼工具查詢到csv –
對不起@reds我不太關注你在問什麼? – Ben
@Ben看起來錯誤來自'.csv'文件中的空字符串值。 「錯誤1261」是MySQL沒有插入任何東西而不能插入NULL的結果。所以如果你的'.csv'文件是這樣的:''a','b','c','','e',MySQL不知道如何處理這個''''值,除非它被改變了從''''到'NULL'就像:''a','b','c','NULL','e''。我不知道我是否正確理解你的問題,但如果這個答案似乎正確,我願意進一步幫助。 – ThoseKind