我正在运行一个游戏服务器和一个游戏论坛。每个都有自己的数据库。游戏服务器有一个数据库,用于跟踪所有玩家及其商店积分(用于游戏中的化妆品)。然后是跟踪用户、帖子等的论坛数据库。
我的目标是奖励在论坛上发帖的玩家,通过在他们提交每个论坛帖子后奖励他们游戏内的货币。我正在尝试使用这种方法来提高论坛参与度。
我怎样才能让每次用户发帖时,它都会告诉游戏服务器的数据库将一定数量的游戏内货币添加到他们附加的帐户中?
该论坛通过用户的注册 ID 跟踪用户。游戏服务器通过用户 ID 跟踪用户。
感谢所有的帮助!
我假设您没有访问权限或不希望将代码添加到您的论坛安装以实现此目的,那么解决方案可能是使用 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 和表的正确定位。