我有一个成员(member)表,如下:
成员表:
Name | Handicap
Joe Bloggs | 18
史泰 bool 福德表:
Player_name | Player Handicap | Score | Handicap Change
Joe Bloggs | 18 | 38 | 17
我现在想要使用“让分更改”值 (17) 更新“玩家让分”,但出现错误:
cannot update a child row.
玩家让分
是Stableford
表中的外键。它引用成员(member)(障碍)
。
当我更新 Stableford
表中的 Player Handicap
字段时,我还希望更新我的成员(member)表中的 Handicap 字段。这可能吗?
最佳答案
你根本不想这样做。
这里是一个经典的非规范化。
将 Handicap 作为外键没有任何意义。只有将玩家自己作为外键才有意义。
您需要从 Stableford 表中删除 Handicap 字段,并通过成员(member)的姓名作为外键,通过联接从 Member 表中获取它,必要时。
您不想想要在任何其他表中重复成员(member)的任何属性(除了他的键)。
关于mysql - 通过更新外键来更新主键,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29623825/