【问题标题】:Is it possible to automatically update table in SQL, when a table is updated?更新表时,是否可以在 SQL 中自动更新表?
【发布时间】:2016-04-02 21:23:47
【问题描述】:

我有三张桌子:

表格结果:

  • 身份证
  • homeScore
  • awayScore

桌梯:​​strong>

  • 身份证

表格预测

  • 身份证
  • homeScore
  • awayScore

我想为Table Ladder中的所有ID添加点,由Table Results中的插入、修改或删除触发,具体取决于 homeScore,awayScore 来自 table Predictions

我有这样的规则:

  • 如果用户结果和实际结果相同,+5分
  • 如果用户预测正确获胜者,+2 分
  • 如果用户预测正确的净胜球差 +3 分
  • 如果用户预测正确进球,+1 分(两支球队都可能发生)

这可能只使用 SQL 吗?如果没有,我该如何使用 PHP 来解决这个问题?

【问题讨论】:

  • 您可能正在寻找triggers。就您问题的当前内容而言,这就是我可以为您提供的尽可能多的信息。
  • 我研究了触发器,这让我有点困惑,我已经更新了我的问题。我能否在触发器中应用我的规则(不同结果的不同点)? @FirstOne
  • @Troix,是的,您可以在触发器中添加ifs。这样,就可以定义条件以及每个条件发生时要做什么。首先,您应该学习触发器的基础知识,例如:插入某些东西 -> 做其他事情。然后,您可能想了解根据值具有不同行为的触发器。由于这将引入IF,因此更容易根据这些标准创建不同的结果。

标签: php sql


【解决方案1】:

如果你定义了触发器,你就可以做到这一点。在插入/更新/删除时将新结果与旧结果进行比较,您的问题将得到解决。阅读一些有关您正在使用的 RDBMS 触发器的教程,您将能够解决问题。

【讨论】:

  • 感谢您的编辑和回答,我已经研究了触发器,但是,我不确定是否可以根据这些列中的值应用不同数量的点?
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2021-08-27
  • 2021-03-06
  • 1970-01-01
  • 1970-01-01
  • 2016-03-08
  • 2013-10-08
相关资源
最近更新 更多