> mysql에서는 tranjection인가... 암튼 그게 지원안되니깐..
> lock이 그렇게 필요가 없다고 하는데요..
>
> 지금 디비를 하나 짜고 있는데요... insert문에서는 lock을
> 걸어주고 있는데요.. update같은 부분에서도.. lock을
> 다 걸어야 하는지...
> 만약에 lock을 안걸어서 일어날 일좀 알켜주세요...
> 맨날 질문만 드려서 죄송합니다.... 좀 알켜주세요..
> 그럼 수고하세여...
트랜잭션을 지원하는 경우에는 일정 기간동안 작업한 것에 대해서 취소할 수가 있는 것이지요.
일반적인 웹 프로그래밍에서는 여러 사용자가 동시에 동일 자료에 대해 update하는 경우가 아니라면 굳이 락을 걸지 않더라도 문제 생길일은 없죠. 만약 여러 사용자가 동시에 동일 자료에 대해 update하는 경우라면 이를 점검할 수 있는 루틴을 넣으면 될 것입니다.
(서로 다른 자료를 입력하거나 서로 다른 자료를 update한다면 전혀 문제는 없겠지요)
update 문에서 이렇게 이용하면 동시에 접근하는 자료의 무결성을 보존할 수 있을 듯.
UPDATE customer SET customer_date='current_date', address='new address',
phone='new phone', money_he_owes_us=money_he_owes_us+'new_money' WHERE
customer_id=id AND address='old address' AND phone='old phone';
where 절에 원래의 값과 비교하는 구문을 넣는 것이지요.
|