gpt4 book ai didi

mysql - mysql其他表中有重复字段

转载 作者:行者123 更新时间:2023-11-29 18:20:14 25 4
gpt4 key购买 nike

我有三张 table :

游戏:
game_id int(11) 无 PRI 自动增量
archive_moves varchar(3000) 否
聊天 varchar(3000) 否

玩家:
player_id int(11) 无 PRI 自动增量
用户名 varchar(30) 无 UNI
密码 varchar(30) 否
电子邮件 varchar(30) 无 UNI
激活位(1) NO b'0'
哈希 varchar(32) 否
game_number int(10) NO MUL 0

玩家游戏:
playergame_id int(11) 无 PRI 自动增量
player_id int(11) NO MUL
game_id int(11) NO MUL
game_number int(10) NO MUL 0

playersgames.game_id 是 games.game_id 的外键
Playersgames.player_id 是player.player_id 的外键

我想要的是 game_number 从玩家到玩家游戏获得完全相同的值。所以我在players.game_number和playersgames.game_number之间创建了一个外键,并“更新时级联”它。问题是当我更改players.game_number 的值时,playersgames 的值从players.game_number 获取最高值,并且players.player_id 和他的player.game_number 之间不再有联系。

其背后的想法是仅当game_number < 5 时才获取playersgames.player_id。换句话说,一个玩家不能玩超过5 场游戏。如果更方便的话,我愿意接受其他解决方案。

谢谢!

最佳答案

您不需要 playergames 表或 players 表中的 game_number 列。相反,您可以运行以下查询:

SELECT
p.player_id,
COUNT(g.playergame_id) AS numGames
FROM
players p
LEFT JOIN
playersgames g ON p.player_id = g.player_id
GROUP BY
p.player_id

结果将为您提供玩家 ID 和玩家拥有的游戏数量。另请参阅:MySQL joins and COUNT(*) from another table .

关于mysql - mysql其他表中有重复字段,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46651604/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com