mysql:根据1个输入更新2个表

时间:2014-02-05 11:02:35

标签: mysql sql

我有2个表:'matches''players'

在'比赛'中,我有个人进球得分和谁。

在'球员'中我有个人球员和进球得分。

如果玩家名称在“匹配”表格中显示了其旁边的目标,如何自动更新玩家在“玩家”牌桌中得分的总目标?

3 个答案:

答案 0 :(得分:2)

我会创建第三个表GOALS

create table GOALS(
   GOAL_ID INT,
   PLAYER_ID INT,
   MATCH_ID INT,
   GOAL_TIME DATE,
   ETC...
);

然后使用此表加入PLAYERSMATCHES表。这允许所有GOALS存储在一个位置。如果您需要确定玩家得分或者在比赛中得分,您可以针对目标表执行简单的count()

答案 1 :(得分:0)

您可以为trigger表格创建matches。如果添加或删除新记录,触发器将更新播放器的目标数量。

否则,您将进行2次查询:插入匹配记录,更新玩家记录

答案 2 :(得分:0)

试试这个

Here third table needed

create table GOAL(
   GID INT(PK),
   PID INT(FK of players),
   MID INT (FK of matches)
);

when This (GOAL) inserted then use a trigger used and update goal of players

CREATE TRIGGER ins_trig AFTER INSERT ON GOAL
    -> FOR EACH ROW
    -> BEGIN
    -> UPDATE players SET goals scored(GIVE THE CONDITION);
    -> END;