I have three tables :
games:
game_id int(11) NO  PRI     auto_increment
archive_moves   varchar(3000)   NO
chat    varchar(3000)   NO          
players:
player_id   int(11) NO  PRI     auto_increment
username    varchar(30) NO  UNI
password    varchar(30) NO
email   varchar(30) NO  UNI
activate    bit(1)  NO      b'0'
hash    varchar(32) NO
game_number int(10) NO  MUL 0   
playersgames:
playergame_id   int(11) NO  PRI     auto_increment
player_id   int(11) NO  MUL
game_id int(11) NO  MUL
game_number int(10) NO  MUL 0   
playersgames.game_id is foreign key for games.game_id
playersgames.player_id is foreign key for player.player_id  
What I want is game_number gets exactly the same value from players to playersgames. So I created a foreign key between players.game_number and playersgames.game_number and "cascade on update" it. The problem is when I change value from players.game_number, the value for playersgames gets the highest value from players.game_number and there is no more connection between players.player_id and his player.game_number.
The idea behind this is to get playersgames.player_id only if game_number < 5. In other words, a player cannot has more than 5 games. I'm open to other solution if it's more convenient.
Thanks !
 
    