2015-08-05 4 views
-3

Я пытаюсь обновить много (около 500) строк в базе данных mysql. Как я могу сделать это всего за 1 запрос?UPDATE mysql rows

UPDATE products SET product_qty=5 WHERE product_id=1,2,3,4,5... 

... и это продолжается и до 500.

+0

@Siyual моя ошибка, удаляемого комментарий. Я не понял этот вопрос. – Script47

+0

FYI ... A * пара * - это только два значения. 500 может быть * несколько * или * много * в зависимости от вашей интерпретации. Но * пара * всегда только две. – Siyual

+0

@Siyual [пара] (http://www.merriam-webster.com/dictionary/couple): 4. * неопределенное небольшое число * – Glorfindel

ответ

2

BETWEEN Используйте оператор:

UPDATE products SET product_qty=5 WHERE product_id BETWEEN 1 AND 500 

Если не все продукты с идентификатором в этом диапазоне должны быть обновлены, вы «придется использовать оператор IN и построить запрос с некоторыми PHP код:

UPDATE products SET product_qty=5 WHERE product_id IN (1, 2, 3, 6, 8, 11, ..., 346) 
0

Если product_id значения являются последовательными, ваш может использовать оператор диапазона, как BETWEEN или <=

UPDATE products SET product_qty=5 WHERE product_id BETWEEN 1 AND 500 

или

UPDATE products SET product_qty=5 WHERE product_id <= 500