묻고답하기
Mysql 질문드립니다 꼭좀..ㅠ.ㅠ
2009.11.19 17:13
지금 mysql을 써서 프로그래밍을 해야하는데,
한 테이블에서 가진 돈의 액수를 읽어와서(게임 하면서 점수로 얻게 되는 가상돈이에요)
그걸로 이펙트 아이템을 사는 기능을 만드는데요
계정 정보를 저장하는 테이블은 account이다
테이블 구조는 steamid(스팀고유번호) | money(가진돈) | username(웹사이트 로그인에 쓸 이름) | password(비밀번호)이다
각 계정이 소유한 아이템은 각 계정의 스팀고유번호로 생성되는 테이블에 저장한다
테이블 구조는 transactionid(거래고유번호) itemid(구매한 아이템의 고유번호) | purchasedate(구매한일자) | terminationdate(만료일자) 이다
아이템 정보를 저장하는 테이블은 itemlist이다
테이블 구조는 itemid(아이템고유번호) | itemtype(아이템종류) | itemprice(아이템가격) | iteminfo(아이템의 정보를 담고 있는 문자열(모델경로 등등)) | itemshowinfo(아이템을 설명하는 문자열) 이다
(저 말들이 반말인 이유는 제가 그냥 제 소스코드에 주석 넣었던거 복붙해온거라 그래요)
저기에서 계정의 소유 아이템 목록에다가 특정 itemid의 itemprice만큼의 돈을 가지고 있는 경우에만 아이템을 추가해주려고 하는데
이걸 되도록이면 하나의 쿼리만 써서 해결해야되요
왜냐면 제가 지금 하는게 게임 서버에서실행되는 거라서 스레디드 쿼리를 쓰는데, 스레디드쿼리는 쿼리 하나에 함수 하나라서, 쿼리 여러개로 나눠 작업하려면 함수 모양새도 안그래도 이상한데 더 이상해지고..아무튼 그렇거든요
그래서 제가 if문이 있다고 찾긴 했는데 도대체 어떻게 써먹어야 할지도모르겠구요. if(조건, 참일때, 거짓일때)이거 봐도 감 안오네요......
아무튼 쿼리 한개로 아래와 같은 일을 할수있게 도와주세요
첫째, 계정이 가진 돈이 계정의 아이템 소유 목록에 추가하려고 시도하는 itemlist내의 해당 itemid의 itemprice
보다 많을경우인지 판단
둘째, 조건이 참인 경우 인서트 문을 써서 계정의 소유 아이템 목록에 추가, 계정의 돈을 산 아이템의 가격 만큼 차감
이걸 해줘야되는데...제발도와주세요
쓰고있는 프로그래밍환경은 sourcemod라서..
아무튼 고수님들 답변 기다릴께요
sql처음 배우니까 아무것도 모르겟네요