Архив за 14 Июль 2009

14
Июл

mysql is free

   Автор: Aen Sidhe    в дневник, программирование

Дано: таблица T с полями id (pk, autoincrement, int(11)), played (int(11)), avgScore(int(11)). Для записи с заданным id played = avgScore = 0. Это важно.

Вопрос: чему будут равны played и avgScore для записи с этим id (пусть будет 123, неважно) после запросов:

  1. update `T` set
    `T`.`played` = `T`.`played` + 1,
    `T`.`avgScore` = (`T`.`played` * `T`.`avgScore` + 300) / (`T`.`played` + 1)
    where `T`.`id` = 123;
  2. update `T` set
    `T`.`avgScore` = (`T`.`played` * `T`.`avgScore` + 300) / (`T`.`played` + 1),
    `T`.`played` = `T`.`played` + 1
    where `T`.`id` = 123;