DB(디비) Insert문에 관한 질문! 내공 60추가

DB(디비) Insert문에 관한 질문! 내공 60추가

작성일 2016.11.29댓글 1건
    게시물 수정 , 삭제는 로그인 필요

제가 이클립스로 학생정보 관련해서 짠 코드가 있는데, 이 정보들을 입력하면
디비로 데이터를 출력할수 있게 작성중인데, 문제점이 발생해서 이렇게 질문을 드립니다.

예를들어

만약  디비에 필드가 3개 있다고 가정하고

 

num     name       pwd      

1          홍길동      1111       

2          구두쇠      2222       


이렇게 처음에 insert하면 데이터가 잘들어가는데 제가 여기서

3    짱구 3333 이 정보를 추가하게되면

제가 생각한것은


num     name       pwd      

1          홍길동      1111       

2          구두쇠      2222   

3           짱구        3333

이렇게 나오게 하고 싶은데 , 계속해서 디비는


num     name       pwd      

1          홍길동      1111       

2          구두쇠      2222   

1          홍길동      1111       

2          구두쇠      2222   

3           짱구        3333

이렇게 중복되서 한번더 저장하고 나오더라구요 ..

그래서 구글검색을 해봤는데 무슨 primary key? unique key? 이런거를 설정하라는데..

자바코드로 어떻게 해야되는건지도 몰르겟고 ...

도움주시면 감사합니다 .


이클립스,마리아디비,heidisql 사용중입니다 .


밑에 코드는 혹시몰라서 insert부분 코드입니다 .


여기까지 읽어주셔서 감사합니다 !!



profile_image 익명 작성일 -

디비에 primary Key를 설정하셔도 중복 데이터가 들어오는것을 디비에서 체크해서 오류를 내버려서 오류나는건 똑같으실거에요 DB primary Key 즉 기본키개념은 위키피디아나 책을 참조하시는게 빠르실듯 하구요


마리아 디비 pk 설정법은 아래 주소 참조 하시면됩니다.

https://www.techonthenet.com/mariadb/primary_keys.php


그리고 원하시는 형태로 입력 및 출력 하실려면 먼저 입력하실 데이터가 현재 DB상에 존재 하는지 체크부터 하셔야겟지요

insert 부분 쿼리 실행전에 DB의 사용자 정보를 select 해오셔서 num값을 비교하셔서 데이터가 있는지 확인하시고 데이터가 없을때 그데이터를 insert 하시면 됩니다.


요약하면

1. insert전 select 구문으로 데이터 조회

2. 입력하려는 데이터와 비교

3. 데이터가 존재하면 pass 없으면 insert

ps. 추가로 오라클의 경우는 merge into 라는 구문을 사용해서 자바에서가 아닌 DB내에서 비교를 통해 바로 없으면 insert 없으면 update해버리는 기능있습니다.

Insert문에 관한 질문! 내공 60추가

... 질문을 드립니다. 예를들어 만약 디비에... insert ps. 추가로 오라클의 경우는 merge into 라는 구문을 사용해서 자바에서가 아닌 DB내에...