테스트 사이트 - 개발 중인 베타 버전입니다

insert 중복 컬럼값 무시 채택완료

가방 6년 전 조회 2,549

안녕하세요

 

지금 csv 파일에서 mysql로 데이터를 옮길려고합니다.

 

엑셀A.csv 에서

값1, 값2, 값3..., 대리점명, ... 

 

이렇게 되어있는데 다른건 우선필요없고 대리점명만 얻어야하는데요

대리점이름이 고유값(?) 이다 보니 중복이 있으면 안됍니다

물품별로 대리점이 지정되어있는데

대리점A

대리점A

대리점A

대리점B

대리점C

대리점C

대리점A

...

이런식으로 되어있는데요 이걸

대리점A

대리점B

대리점C 이런식으로 저장 insert 구문을 할려고하는데 어떻게 조건을 줘야할까요?

csv파일로 php에 업로드해서 php내에서 처리할려고하는데요 

insert into 테이블 (agency) values ('대리점명') on duplicate key update agency = agency;

 

이런식으로  인터넷에 찾아보긴했는데 잘안돼네요...

 

 

 

댓글을 작성하려면 로그인이 필요합니다.

답변 1개

채택된 답변
+20 포인트
6년 전

일단 테이블의 구조부터 적어보세요

 

그리고 위의 구문으로 하는게 맞습니다.

key 을 알아야 구문을 짤수 있습니다.

로그인 후 평가할 수 있습니다

답변에 대한 댓글 5개

가방
6년 전
어떻게 적어드려야될까요
agy_id(기본키, 1씩 자동증가), agy_name(거래처명), agy_addr(주소), agy_memo(메모/선택값입니다)
나시
6년 전
기본키가 agy_id 이기 때문에 duplicate 구문은 사용할수 없습니다.

굳이 한다면.. 음

IF (SELECT 1 = 1 FROM 테이블 WHERE agy_name="거래처명') THEN
BEGIN
UPDATE 구문;
END;
ELSE
BEGIN
INSERT 구문;
END;
END IF;
나시
6년 전
근데 써놓고 보니 이미 대리점명이 있다면 update 문이 필요 없겠네요 ^^
가방
6년 전
감사합니다 한번해보겠습니다
나시
6년 전
버전에 따라 조금 차이는 있겠지만 대략 비슷할겁니다.

댓글을 작성하려면 로그인이 필요합니다.

답변을 작성하려면 로그인이 필요합니다.

로그인