답변 2개 / 댓글 4개
채택된 답변
+20 포인트
넓은마인드
2022-01-12 (수) 13:20:00
상단에서 insert 한후 result 에 insert 결과 값이 들어가게 되니까
별로 select 하지 않아도 존재하면 (입력이 정상적으로 되었다면) 입력하게 됩니다
쿼리를 두번 날리지 않아도 되니까 부하가 조금 줄어들게됩니다
또한 select 후 insert 를 하면 전 단계 에서 insert 가 오류가 발생한건지 안한건지를 알수가 없기 때문에 무결성 문제도 발생합니다 따라서 위처럼 하는게 옳은 방법이라고 볼수있습니다
답변에 대한 댓글 1개
2022-01-12 (수) 22:31:08
INSERT ... ON DUPLICATE KEY UPDATE Statement
구문을 참고하세요.
https://dev.mysql.com/doc/refman/8.0/en/insert-on-duplicate.html
답변에 대한 댓글 3개
2022-01-13 (목) 08:43:02
감사합니다
DB쪽에서 데이터가 존재하는지 검사해서 입력/수정을 결정하는 방법이 있었네요
DB쪽에서 데이터가 존재하는지 검사해서 입력/수정을 결정하는 방법이 있었네요
2022-01-13 (목) 09:03:12
좀 더 살펴보니 작성해주신 구문도 일단 insert 시도 한 뒤 중복 발생 시 update 하는 기능이고 쿼리를 한번 날리냐 두번 날리냐 차이인거 같은데 올바르게 이해한걸까요?
2022-01-13 (목) 17:19:11
맞습니다
query 한 번으로 해결하는 것이죠.
주의할 점은 unique key를 잘 활용해야 한다는 것입니다.
query 한 번으로 해결하는 것이죠.
주의할 점은 unique key를 잘 활용해야 한다는 것입니다.
답변을 작성하려면 로그인이 필요합니다.
