DROP TRIGGER IF EXISTS `onupdate_players`;
DELIMITER //
CREATE TRIGGER `onupdate_players` AFTER UPDATE ON `players`
FOR EACH ROW BEGIN
DECLARE expGain BIGINT UNSIGNED;
SET expGain = NEW.`experience` - OLD.`experience`;
IF (expGain <> 0) THEN
INSERT INTO `player_experience` VALUES (OLD.`id`, NEW.`lastlogout`, (NEW.`lastlogout` - NEW.`lastlogin`), expGain);
END IF;
END
//
DELIMITER ;
CREATE TABLE `player_experience` (
`player_id` INT( 10 ) NOT NULL ,
`lastlogout` INT( 10 ) NOT NULL ,
`period` INT( 10 ) NOT NULL ,
`experience` BIGINT NOT NULL,
FOREIGN KEY (`player_id`) REFERENCES `players` (`id`) ON DELETE CASCADE
) ENGINE = InnoDB;