select + update в одном запросе

rtyug
На сайте с 13.05.2009
Offline
263
2472

может ли быть в одном запросе?

примерно так?


SELECT id, id_un_out,
id_un_input,
text,
created,
(UPDATE message AS t1 SET t1.report = 1 where t1.id = id )
FROM message
WHERE id_un_out = 1
limit 30
Спалил тему: Pokerstars вывод WMZ, etc на VISA 0% или SWIFT + Конверт USD/GBP,etc (net profit $0,5 млрд) (https://minfin.com.ua/blogs/94589307/115366/) Monobank - 50₴ на счет при рег. тут (https://clck.ru/DLX4r) | Номер SIP АТС Москва 7(495) - 0Ꝑ, 8(800) - 800Ꝑ/0Ꝑ (http://goo.gl/XOrCSn)
_savit
На сайте с 19.03.2006
Offline
135
#1
rtyug:
может ли быть в одном запросе?

нет, не может

https://vk-botovod.ru - комбайн ВКонтакте, мультимессенджер, эмулятор жизни аккаунтов
N
На сайте с 06.05.2007
Offline
419
#2

Можно многое, но сначала расскажите зачем это вам?

Кроме того, вы не уточнили в каком именно SQL.

Кнопка вызова админа ()
rtyug
На сайте с 13.05.2009
Offline
263
#3

сори, забыл MySQL, я так понял что нельзя...

мну нужно вытащить около 2-30 значений, и отметить (изменить столбик с 0 на 1) что я их взял...

тогда, в цикле просто перебиру...

Dreammaker
На сайте с 20.04.2006
Offline
569
#4
rtyug:
тогда, в цикле просто перебиру...

не нужно цикла, получите значения и тогда используйте что-то типа UPDATE table SET field = 1 WHERE filed2 IN (id1, id2, id3)

N
На сайте с 06.05.2007
Offline
419
#5

используя хранимые процедуры можно, но, по-моему, здесь это лишнее.

достаточно UPDATE с LIMIT, а потом уже выбрать все, что помечено.

_savit
На сайте с 19.03.2006
Offline
135
#6

цикл зло

лучше получите 2-30 значений, запомните их id в массив и вторым запросом измените значения поставив в условие where конструкцию

UPDATE tbl SET .... WHERE id IN(1,2,5,7,9)

Авторизуйтесь или зарегистрируйтесь, чтобы оставить комментарий