UPDATE одного поля все базы

1. Шурикен (27.10.2010 / 10:35)
есть база скажем ls в ней поле mt, полей этих уже за 1000 вот теперь возникает вопрос как во все 1000 полей генерировать mt_rand(0,10), при этом в каждое должен генить новый ренд. генерацыя находится в кроне так что хотелось сделать это очень быстро не создовая лишних нагрузов

2. Lucky (27.10.2010 / 10:53)
$sql = mysql_query('SELECT id FROM table');

while($data = mysql_fetch_assoc($sql)) {
mysql_query('UPDATE table SET field = "'.mt_rand(0, 10).'" WHERE id = "'.$data['id'].'"');
}

Добавлено через 01:12 сек.
Я бы так сделал.

3. Максим (27.10.2010 / 10:58)
Одним запросом упдатить думаю не получется, тогда юзай обновление каждой строки таблицы циклически, типа §q = скьюл запрос(выбрать все строки из таблы)
whille(§r = mysql_fetch_array(q)) mysql_unbuffered_query(update table ls set mt=rand(0,10) where id=$r[id])


я с в инете с мобилки в инете щас, так что написал как смог

Добавлено через 03:18 сек.
2. Lucky, ага, опередил) цыкл должен пройти быстро. пра мускл-унбуфферед-куери автор не забудь, она по беглее обычного куери

4. Шурикен (27.10.2010 / 11:28)
<? 
$sql = mysql_query('SELECT id FROM `table`'); 
while($data = mysql_fetch_assoc($sql)) { 
mysql_unbuffered_query('UPDATE `table` SET field = "'.mt_rand(0, 10).'" WHERE id = "'.$data['id'].'"'); 
}
 ?> 
всем спасибки итоговый написал мож кому нужно будет

5. Алексей (27.10.2010 / 11:51)
5. Tidus, полностью с тобой соласен!

6. Максим (28.10.2010 / 05:20)
5. Tidus, это изменит все фиелды одним и тем же значением? или по разному?

Добавлено через 01:50 сек.
Что то новенькое)

7. Алексей (28.10.2010 / 11:05)
7. SPunk, по разному изменит!

8. Максим (30.10.2010 / 09:38)
Круто, все таки не достаточно я мускул знаю( на то они и ошибки, чтоб на них учиться )

URL: https://visavi.net/topics/14986