이미 일부 데이터가있는 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의 구문 오류를 얻고있다,하지만 그것을 알아낼 수없는 나는 다음과 같이
내가 시도하는 코드이다. 누구든지 올바른 방향으로 나를 가리키거나 다른 접근 방식을 제안 할 수 있습니까? 삽입 할 수천 개의 새로운 행과 특정 필드 (이 경우 이름)를 기반으로 수정할 수천 개의 기존 행이 있습니다.