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

중복없으면 insert하기.. 채택완료

가방 6년 전 조회 6,365

https://sir.kr/qa/279861 아까 물어보긴했었는데 잘안돼서 다른방법으로 시도중입니다..

 

INSERT INTO 테이블(컬럼명) 
VALUES
  (넣을 컬럼값)
   WHERE NOT EXISTS 
  (SELECT 
    컬럼병
  FROM
    테이블 
  WHERE cli_comname = 넣을 컬럼값)

 

구글링하다가 발견했습니다. 이런식으로 sql 수정하고있는데 오류가 뜨네요 ㅠㅠ 4번째줄(where not exists)에서 뜬다고는 하는데 sql문을 어떻게 수정해야할까요 ㅠㅠ

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

답변 3개

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

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

기존방식대로 쓰시고.

 

agency 값을 유니크 값으로 설정하시면 됩니다. 

http://tcpschool.com/mysql/mysql_constraint_unique

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

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

6년 전

mysql 버젼이 안맞아서 그렇습니다.

duplicate 문을 못쓰니 한번의 쿼리로는 힘들겠네요

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

답변에 대한 댓글 2개

가방
6년 전
아이고; 그랬군요.. 좀 더 고민해봐야겠군요... 감사합니다!
+ 버전확인하니까 5.5.15 네요
나시
6년 전
거래처명이 유일하다면 그걸 키로 바꾸시면 duplicate 문 쓸수 있습니다.

테이블 수정이 가능하다면 말이죠 ^^

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

플라이
6년 전

echo 로 SQL 문을 찍어보시고 그걸 직접 phpMyAdmin에서 실행해 보시면 오류 해결하시는데 도움이 되실겁니다.

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

답변에 대한 댓글 1개

가방
6년 전
네 ㅠㅠ 찍어서 mysql에 실행해봤었는데요 잘안돼네요 ㅠㅠ 쿼리와 오류는 저거랑 같습니다

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

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

로그인