2017-03-01 1 views
0

이미 일부 데이터가있는 mysql 테이블에 데이터 infile을로드하여 일부 데이터를 삽입하려고합니다. 테이블에 ID와 이름이 포함되어 있습니다. 내 CSV 파일에는 ID, 이름 및 코드라는 세 개의 입력란이 있습니다. 테이블 스키마에도이 세 가지 필드가 있지만 현재 코드 필드에 대해 테이블에 NULL이 있습니다. 내가 이름과 일치하는 경우 테이블의 기존 행에 CSV에서 코드를 삽입하려고합니다. 그렇지 않으면 완전한 새 행을 삽입하려고합니다.IF ELSE inside 데이터 infile mysql로드

 
    LOAD DATA INFILE 'table1.csv' 
    INTO TABLE table1 
    FIELDS TERMINATED BY ',' 
    LINES TERMINATED BY '\n' 
    IGNORE 1 LINES 
    (@code, @name, @other_columns) 
    IF EXISTS (SELECT * FROM table1 where [email protected]); 
    BEGIN 
    set [email protected]; 
    END 
    ELSE 
    BEGIN 
    set [email protected], [email protected]; 
    END 

그렇게함으로써, 나는 MySQL의 구문 오류를 얻고있다,하지만 그것을 알아낼 수없는 나는 다음과 같이

내가 시도하는 코드이다. 누구든지 올바른 방향으로 나를 가리키거나 다른 접근 방식을 제안 할 수 있습니까? 삽입 할 수천 개의 새로운 행과 특정 필드 (이 경우 이름)를 기반으로 수정할 수천 개의 기존 행이 있습니다.

답변

관련 문제