이전 목록 다음
채택완료

중복없으면 insert하기..

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

 

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

 

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

|

답변 3개 / 댓글 3개

채택된 답변
+20 포인트

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

기존방식대로 쓰시고.

 

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

http://tcpschool.com/mysql/mysql_constraint_unique

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

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

답변에 대한 댓글 2개

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

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

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

답변에 대한 댓글 1개

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

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