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 !