2017-02-12 4 views
0

Я пытаюсь обновить все строки в таблице в моей базе данных с другим значением. Я пытаюсь выполнить цикл запроса для этого. Вот что у меня есть ...В то время как цикл sql-запроса

<?php 
$rand = rand(100,150000); 
$start = 1; 
$start += $start; 
$start2 = $start +1; 
echo $start; 
while($start =< 686) { 
echo "UPDATE table_video SET total_view = $rand WHERE id BETWEEN $start AND $start2;"; 
}; 
?> 

Я уверен, что большинство из вас должны быть в состоянии смотреть на мой код и понять, что я пытаюсь сделать. Мне нужна помощь. Спасибо Большое!

+0

Вы только эхо запроса, никогда не выполнится .. '$ rand' также будет генерироваться только один раз. Все записи будут иметь одинаковое целое число на каждой итерации. Вы должны поместить задание в цикл. – chris85

+1

Я пытаюсь понять вещь '$ start' ... вы инициализируете ее' 1'. Затем вы добавляете '1' (' $ start = 2'), а затем '$ start2' -' $ start + 1', который равен '3'. (Я не знаю, зачем вы все это делаете. Затем вы делаете 'while-statement', который никогда не заканчивается, потому что вы никогда не увеличиваете' $ start' (так что это всегда '$ start = <686') – barbarity

+0

Почему вы используете LOOP? Вместо этого просто обновляете все столбцы со случайным значением? –

ответ

1

Используйте функцию mySQL RAND(), мин и максимальный диапазон для случайных значений. Я верю в данном случае являются (100,150000)

UPDATE table_video 
SET total_view = ROUND((RAND() * (max-min)) +min) 
WHERE id BETWEEN 1 AND 686; 
+0

Это сработало. Большое спасибо @JuanCarlosOropeza –

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