궁금한게 있어서 몇자 적습니다.
항상 sql를 하다보면 궁금한게 있는데요.
과연 제가 원하는게 원래 안 되는건지 제가 모르는건지 궁금하네요.
해당 레코드가 없다면 insert를 하고 싶은데요.
쉽게 풀어 말하자면 현재는 select를 먼저 한다음 없으면 insert를 하고 있습니다.
sql 한문장으로 처리가 가능한지요?
만약 그게 가능하다면 한수 가르쳐주세요..^^부탁드립니다.
http://dev.mysql.com/doc/refman/5.0/en/replace.html REPLACE구문 쓰시면 됩니다.
박현우님 답변에 정말 감사드립니다. 제가 잘 알지 못할수도 있는데요. REPLACE 구문은 확인해보니깐 insert하고는 비슷하지만 옛 레코드는 삭제하고 새로운 레코드를 넣는것 같은데요. REPLACE가 죄송한데 ON DUPLICATE KEY와 같은 건가요? 있을경우 업데이트는 하는건 아니고요. 그냥 단순히 없으면 insert 하기만을 원하거든요. 죄송합니다. 제가 질문을 정확하게 드렸어야 하는데 아마도 질문을 헷갈리게 한것 같네요. 아니면 혹시 제가 잘못알고 있다면 다시 한번만 정확하게 답변주시면 고맙겠습니다..^^ 수고하세요.
그렇군요, 제가 질문을 잘못 이해한 것 같습니다. 죄송합니다. 꼭 한문장으로 처리하고 싶으시다면 2가지 방법이 있습니다. (1) Stored procedure로 처리한다 - 사실 한문장이 아닌게 되지요. (2) Unique Key를 잘 걸어서, Insert시 오류가 나도록 한다. 이외의 방법이 있는지는 잘 모르겠습니다.
답변을 늦게 확인했네요.
답변 정말 감사합니다. ^^