replace into1 [mysql] INSERT - 중복되는 데이터는 넣지 않기 1. 배경 어떤 테이블은 데이터가 중복으로 들어가면 안되는 항목을 갖고있다. 예를 들어, 어떤 게시물의 [좋아요] 데이터를 갖고있는 테이블은 게시물_idx 유저_idx 조합의 칼럼을 갖고있고 로직을 간단하게 생각해보면 저 조합이 중복으로 들어가면 안된다는 것을 알 수 있다. (통신오류로 좋아요를 여러번 눌렀는데 제대로 취소되지 않고 중복으로 좋아요 데이터가 들어가게되면 나중에 유저가 나중에 좋아요를 취소했는데 좋아요 기록이 아직 남아있는 오류 발생) 그렇다면 애초에 중 {게시물_idx, 유저_idx}의 조합이 중복으로 insert되는 것을 미연에 방지해야 한다. 2. 개념 크게 두가지의 방법이 있다 1) 매 쿼리문에서 방지 ->where not exists 2) 컬럼 속성 설정을 통해 방지 -> (1) .. 2020. 4. 24. 이전 1 다음