update 질문입니다~! 0 1 140

by 천만달러 [Tibero] [2021.10.07 10:03:06]


게시판 등록페이지 안에 추가버튼을 눌러서 행을 추가해 등록하는 부분이 있습니다

그래서 등록 테이블 A와 행을 추가해서 등록하는 부분을 따로 뺴서 테이블 B 이렇게 만들어 놨습니다

A테이블 ID 값 하나에 B테이블 값이 여러개 등록되는 형식입니다.

그래서 등록은 값 i 만큼 돌면서 insert를 잘 해주는데

update나 merge를 사용할 때는 덮어쓰기가 되는거 같습니다

insert할 때와 다르지 않게 java 코드를 짜고 결과를 보면

insert는 잘 추가가 되는데 update나 merge를 하면

첫번쨰 행에 1

두번쨰 행에 2

이렇게 등록을 하고

첫번째 행에 3

두번쨰 행에 4

이렇게 수정을 해서 돌리면

콘솔에는 3이 등록된 쿼리가 하나 보이고

4가 등록된 쿼리가 하나 보입니다

그런데 결과를 보면

첫번쨰 행에 4

두번쨰 행에 4

이렇게 나와서 DB에도 이렇게 저장이 되더라구요

그래서 덮어쓰기가 되는거 같은데

이런걸 쿼리에서 방지할 수 있나요?

아니면 java 코드 문제일까요...

도와주세요~.......

by 마농 [2021.10.07 10:10:12]

테이블 PK 설계가 어떻게 되어 있나요?
(ID, 행번호) 형태의 복합키 설정이 되어 있어야 하고,
Update 할 때는 두가지 키 조건을 모두 주셔야 합니다.
ID 조건만 주고 행번호 조건을 누락시킨 듯 합니다.

댓글등록
SQL문을 포맷에 맞게(깔끔하게) 등록하려면 code() 버튼을 클릭하여 작성 하시면 됩니다.
로그인 사용자만 댓글을 작성 할 수 있습니다. 로그인, 회원가입