DB관련

DB관련

QA

DB관련

본문

set_1 테이블에 a1,a2,a3 칼럼이 있는데

특정 페이지에서 새로고침하면 set_1 테이블에 계속 insert 됩니다.

근데 문제가..insert 만 되고 update 나 delet 는 저의 한계때문에 만들수가 없었습니다..

 

새로고침 하여 받아오는 값과 db에있는 값이 (칼럼이 하나라도 맞으면) 같다면 update

그리고 db에 값이 없으면 insert, 마지막으로 db에 값은 있는데 새로고침 하여 받아오는 값이 없다면

db에있는 값을 delet 할 수 있을까요?..

#DB

이 질문에 댓글 쓰기 :

답변 2

기본적으로 duplicate key 라던지 for update 같은걸 사용할려면

transaction이 제공 되어야 합니다 (lock 기능의 필요성 때문에)

따라서 위의 기능을 사용할려면 엔진을 innoDB 로 사용해야 하기에 말씀드린거구요

 

http://powerhan.tistory.com/175 

 

참조하세요.

일단 DELETE 는 추후로 생각하고..

SELECT FOR UPDATE 를 해보세요.

https://dev.mysql.com/doc/refman/5.0/en/innodb-locking-reads.html 

(아.. innoDB 사용하시는거 맞으시죠?)


수정합니다.

duplicate key 가 우선이겠군요..

https://dev.mysql.com/doc/refman/5.0/en/insert-on-duplicate.html

답변을 작성하시기 전에 로그인 해주세요.
전체 4

회원로그인

(주)에스아이알소프트 / 대표:홍석명 / (06211) 서울특별시 강남구 역삼동 707-34 한신인터밸리24 서관 1404호 / E-Mail: admin@sir.kr
사업자등록번호: 217-81-36347 / 통신판매업신고번호:2014-서울강남-02098호 / 개인정보보호책임자:김민섭(minsup@sir.kr)
© SIRSOFT