DB관련 채택완료
set_1 테이블에 a1,a2,a3 칼럼이 있는데
특정 페이지에서 새로고침하면 set_1 테이블에 계속 insert 됩니다.
근데 문제가..insert 만 되고 update 나 delet 는 저의 한계때문에 만들수가 없었습니다..
새로고침 하여 받아오는 값과 db에있는 값이 (칼럼이 하나라도 맞으면) 같다면 update
그리고 db에 값이 없으면 insert, 마지막으로 db에 값은 있는데 새로고침 하여 받아오는 값이 없다면
db에있는 값을 delet 할 수 있을까요?..
답변 2개
기본적으로 duplicate key 라던지 for update 같은걸 사용할려면
transaction이 제공 되어야 합니다 (lock 기능의 필요성 때문에)
따라서 위의 기능을 사용할려면 엔진을 innoDB 로 사용해야 하기에 말씀드린거구요
http://powerhan.tistory.com/175">http://powerhan.tistory.com/175
참조하세요.
답변에 대한 댓글 1개
댓글을 작성하려면 로그인이 필요합니다.
일단 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
답변에 대한 댓글 3개
mysql 안에 엔진이 나뉩니다, MyISAM 하고 innoDB 로요 ;;
댓글을 작성하려면 로그인이 필요합니다.
답변을 작성하려면 로그인이 필요합니다.
로그인
카페24사용중이구요 ㅜ 혹시나싶어 테이블 추가하고 엔진목록을보는데 innodb 는 없더라구요 ㅜㅜ