Как объединить SELECT и UPDATE в один запрос

Kubiki

Новичок
Как объединить SELECT и UPDATE в один запрос

Как объединить SELECT и UPDATE в один запрос:
Можно ли средствами MySQL выполнить этот цикл одним запросом?

foreach ($Regions as $region) {
$result = mysql_query('SELECT COUNT(*) FROM `users` WHERE `region`='.$region);
mysql_query('UPDATE `statistics` SET `count`='.mysql_result($result,0).' WHERE `region`='.$region);
}

То есть, подсчитать к-ство пользователей по каждому региону в одной таблице и вставить это количество в другую таблицу (таблицу статистики).
 

chira

Новичок
Kubiki
можно если MySQL 4.1
Код:
UPDATE statistics SET count=(SELECT COUNT(*) FROM users WHERE region=statistics.region)
WHERE region IN ( ... )
 

Necromant

Новичок
Автор оригинала: chira
Kubiki
можно если MySQL 4.1
Код:
UPDATE statistics SET count=(SELECT COUNT(*) FROM users WHERE region=statistics.region)
WHERE region IN ( ... )
З.Ы. я конечно дико извиняюсь , но
SELECT COUNT(*) FROM users WHERE в общем случае МАССИВ с 1 еллементом, а
count поле типа INT видимо
 

Sad Spirit

мизантроп (Старожил PHPClub)
Команда форума
Автор оригинала: Necromant
З.Ы. я конечно дико извиняюсь , но
SELECT COUNT(*) FROM users WHERE в общем случае МАССИВ с 1 еллементом, а
count поле типа INT видимо
а ты не извиняйся, а протестируй.
 
Сверху