2015-12-29 5 views
0

У меня есть три таблицы:Можно ли автоматически обновлять таблицу в SQL, когда таблица обновляется?

Таблица Результаты:

  • ID
  • homeScore
  • awayScore

Таблица Лестница:

  • ID
  • точки

Таблица Предсказания

  • ID
  • homeScore
  • awayScore

Я хочу добавить POIN тс к всех идентификаторов в таблице Ladder, вызванные встройки, модификации или абсорбции в таблице Результаты, в зависимости от значения из homeScore, awayScore из таблицы Предсказания.

И у меня есть такие правила:

  • Если результат пользователя и реальный результат идентичны, +5 очков
  • Если пользователь предсказывал правильный победитель, +2 очка
  • Если пользователь предсказывал правильная разность мячей +3 очка
  • Если пользователь предсказал правильные забитые голы, +1 очко (может случиться для обеих команд)

Возможно ли это с использованием только SQL? Если нет, то как мне это сделать с PHP?

+6

Возможно, вы ищете триггеры. Это так много информации, что я могу дать вам текущее содержание вашего вопроса. – FirstOne

+1

Возможный дубликат [PHP MySQL Triggers - как передать переменные для запуска?] (Http://stackoverflow.com/questions/7750208/php-mysql-triggers-how-to-pass-variables-to-trigger) –

+0

I Я посмотрел на триггеры, это немного запутывает меня, я обновил свой вопрос. Могу ли я применять свои правила (разные точки для разных результатов) в триггерах? @FirstOne – Troix

ответ

1

Вы можете сделать это, если задаете триггеры. Сравните новый результат со старым результатом при вставке/обновлении/удалении, и ваша проблема будет решена. Прочтите несколько руководств о триггерах для используемой СУБД, и вы сможете решить эту проблему.

+0

Спасибо за редактирование и ответ, я посмотрел триггеры, однако, я не уверен, могу ли я применять разные количества очков в зависимости от значений из этих столбцов? – Troix

Смежные вопросы