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

Печать RSS
236

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

Землянин
0
$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 сек.
Я бы так сделал.
Изменил: Lucky (27.10.2010 / 10:54)

Землянин
0
Одним запросом упдатить думаю не получется, тогда юзай обновление каждой строки таблицы циклически, типа §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, ага, опередил) цыкл должен пройти быстро. пра мускл-унбуфферед-куери автор не забудь, она по беглее обычного куери
Автор
Чатланин
0
<? 
$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'].'"'); 
}
 ?> 
всем спасибки итоговый написал мож кому нужно будет
А

Пришелец
0
5. Tidus, полностью с тобой соласен!

Землянин
0
5. Tidus, это изменит все фиелды одним и тем же значением? или по разному?

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

Пришелец
0
7. SPunk, по разному изменит!

Землянин
0
Круто, все таки не достаточно я мускул знаю( на то они и ошибки, чтоб на них учиться )
Стикеры / Теги / Правила / Топ тем / Топ постов / Поиск