2013-02-26 3 views
0

저는 게임 서버와 게임 포럼을 운영하고 있습니다. 각 데이터베이스에는 자체 데이터베이스가 있습니다. 게임 서버에는 모든 플레이어 및 매장 크레딧 (게임 내 화장품 항목 용)을 추적하는 데이터베이스가 있습니다. 그런 다음 사용자, 게시물 등을 추적하는 포럼 데이터베이스.다른 데이터베이스의 변경 내용을 기반으로 한 데이터베이스의 값을 수정하는 방법은 무엇입니까?

내 목표는 제출하는 모든 포럼 게시물이 올 때마다 게임 내 화폐를 수여함으로써 포럼에 게시 한 플레이어에게 보상을 제공하는 것입니다. 이 방법으로 포럼 참여를 개선하려고합니다.

사용자가 게시 할 때마다 게임 서버의 데이터베이스에 첨부 된 계정에 설정된 금액의 게임 내 통화를 추가하도록 알려줄 수 있습니까?

포럼은 사용자를 등록 ID별로 추적합니다. 게임 서버는 계정 ID별로 사용자를 추적합니다.

모든 도움에 감사드립니다!

+0

어떤 데이터베이스 유형을 사용하고 있습니까? MySQL은? –

+0

예, MYSQL 데이터베이스. – raimond

답변

0

포럼 설치에 액세스 권한이 없거나 코드를 추가하기를 원하지 않는다고 가정하면 솔루션은 MySQL 용 트리거를 사용할 수 있습니다. 데이터베이스 테이블 구조를 게시하지 않았으므로 올바른 테이블 이름 등으로 바꿔야합니다.

CREATE TRIGGER `CreditsSync` AFTER UPDATE ON `F`.Posts 
FOR EACH ROW BEGIN 
    UPDATE `U`.Users, `F`.Posts SET `U`.Users.credits = `F`.Posts.num WHERE `F`.Posts.userid = `U`.Users.id 
END 

트리거에는 MySQL 5.5 이상이 필요합니다. 자세한 내용은 https://dev.mysql.com/doc/refman/5.5/en/triggers.html을 참조하십시오.

편집은 - 당신이 다른 데이터베이스의 다른 테이블에 삽입하고 싶었다 것으로 나타났습니다은 SQL F = 포럼 데이터베이스 및 U = 사용자 데이터베이스 위 - 올바른 당신의 DBS 타겟팅과이를 교체해야합니다 및 테이블.

+0

안녕하세요. 도움을 주셔서 감사합니다. 나는 그것을 조사 할 것이다. 그리고이 결과를 얻기 위해 내 포럼을 수정할 준비가되었습니다. 포럼을 수정하거나 게시 한 방식으로 시도하는 것이 가장 좋을까요? – raimond

+0

당신이 가지고있는 MySQL의 버전에 달려 있습니다. 트리거는 이것을 해결할 수있는 좋은 방법입니다. 그러나 사용 가능한 버전이 없다면 포럼 설치에 PHP? 코드를 추가해야합니다. 도움이되는 답변을 찾으면 수락하거나 투표 할 수 있습니다. –