0
CSV를 사용하여 mysql 데이터베이스로 Excel 파일을 가져 오려고합니다.CSV에서 가져온 데이터가 잘못된 mysql 열에 입력되었습니다.
DB 구조 : CSV의
CREATE TABLE IF NOT EXISTS `sales_products` (
`productID` int(11) NOT NULL auto_increment,
`name` varchar(200) NOT NULL default '',
`categoryID` int(11) NOT NULL default '0',
`brandID` int(11) NOT NULL default '0',
`seriesID` int(11) NOT NULL,
`info` text NOT NULL,
`img` text NOT NULL,
`date_added` date NOT NULL default '0000-00-00',
`price` double NOT NULL default '0',
`special` varchar(200) NOT NULL,
PRIMARY KEY (`productID`),
FULLTEXT KEY `name` (`name`,`info`)
) ENGINE=MyISAM DEFAULT CHARSET=latin1 COMMENT='All products' AUTO_INCREMENT=21341 ;
첫 번째 줄 :
Bottle opener (No.:015005);1;1;0;Blue, metallic;801001.gif;12-05-2012;0.95
나는 다음과 같은 열이, 'LOAD 데이터를 사용하여 가져 오기 CSV'를 사용 : 이름, 카테고리 ID, brandID, seriesID, 정보, img, date_added, price, special
오류없이 실행되지만 정보 필드는 공백으로 남으며 정보는 'img'필드에 입력되고 img는 date_added에 입력됩니다. 따라서 정보 필드는 건너 뜁니다. 왜 그런가요?
쉼표가 포함 되었습니까? 쉼표는 필드 분리 문자가 아니거나 csv로 Excel을 내보낼 때 문자열 주위에 인용 구분 기호를 사용한다는 것을 mysql에 알려줘야한다. 예 : "파란색, 금속색" –
가져 오기 기본값은 필드 구분 기호로 세미콜론을 사용합니다. 왜 그것은 a가 필드 분리 문자라고 생각합니까? 또한 정보 필드에 'Blue'를 넣고 img 필드에 'metallic'을 넣어서 잘못 될 수는 없습니다. – Dauntless
확실하지는 않지만 치료하는 경우, 다른 구분자를 지정 했더라도 '구분자'는 되풀이되는 주제입니다. 따옴표를 써 보셨습니까? –