UPDATE `table`.`test` SET `manyR` = 70, `manyR` = 77 WHERE `test`.`user_id` IN (20035313,83963544);Не получается...значения у обоих пользователей обновились...но у обоих manyR = 77...а надо, чтобы у одного было 70, а у другого 77...помогите, пожалуйста, буду очень благодарен..))
Спустя 2 минуты, 55 секунд (5.09.2011 - 11:29) linker написал(а):
Про CASE WHEN почитай.
Спустя 27 секунд (5.09.2011 - 11:30) geka96 написал(а):
linker, спасибо)) почитал, не совсем понял...а он сервер нагружать не будет!?)
Спустя 16 минут, 40 секунд (5.09.2011 - 11:47) linker написал(а):
Нет, если совместить данную конструкцию с
... WHERE `test`.`user_id` IN (20035313,83963544)
Спустя 1 час, 49 минут, 55 секунд (5.09.2011 - 13:36) geka96 написал(а):
linker, нее..никак не могу CASE WHEN совместить...вот что намутил...ничего не получилось...
SELECT CASE WHEN (manyR = 40) THEN WHEN (manyR = 44) THEN WHERE `user_id` IN (20035313,83963544) FROM kahok;Если честно нет сейчас времени разбираться...нужно до вечера сделать..помогите, пожалуйста, буду очень благодарен!))
Спустя 27 минут, 33 секунды (5.09.2011 - 14:04) Adil написал(а):
попробуй:
UPDATE `test` SET `manyR` = CASE `user_id` WHEN 20035313 THEN 70 WHEN 83963544 THEN 77 END
Спустя 16 минут, 35 секунд (5.09.2011 - 14:21) geka96 написал(а):
Adil, запрос занял 12 сек. (очень много), перебрал все 80 тыс. строк, ещё и обнулил все остальные строки... и только потом нашёл эти две строки и выставил им значения...мда уж...это не подходит...точно!
Спустя 1 минута, 41 секунда (5.09.2011 - 14:22) Adil написал(а):
тогда попробуй два разных запроса, быстрее будет.
Спустя 24 минуты, 30 секунд (5.09.2011 - 14:47) inpost написал(а):
geka96
Может индексы у тебя не стоят, поэтому так долго? Поставь индекс по полю user_id.
mysqli_query($db,"UPDATE...; UPDATE...;");
Может индексы у тебя не стоят, поэтому так долго? Поставь индекс по полю user_id.
Спустя 5 минут, 37 секунд (5.09.2011 - 14:52) linker написал(а):
UPDATE `test` SET `manyR` = CASE WHEN `user_id` = 20035313 THEN 70 WHEN `user_id` = 83963544 THEN 77 END WHERE `user_id` IN (20035313, 83963544)и индексы расставь на user_id.
Спустя 1 час, 49 минут, 32 секунды (5.09.2011 - 16:42) geka96 написал(а):
linker, спасибо, индексы есть)) Вот этот запрос занял всего 0.05 сек. думаю неплохо)) Спасибо ещё раз большое, очень выручил!



_____________
Пока они пьют водку и катаются на скейтах, мы строим бизнес и делаем деньги!