powered by simpleCommunicator - 2.0.59     © 2025 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / MySQL [игнор отключен] [закрыт для гостей] / Подскажите с запросом (Update+Insert)
2 сообщений из 2, страница 1 из 1
Подскажите с запросом (Update+Insert)
    #39555335
Magestiq
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Привет,
буду благодарен за помощь в составлении запроса

Имеется (упрощенно):

1) Таблица 'deposits'
В неё пишутся депозиты пользователей: id,date,sum,status
Пользователь может иметь несколько активных депозитов (status=1)

2) Есть таблица 'users'
в ней находятся персональные данные, в том числе баланс: 'balance'
balance = остаток + сумма активных депозитов

Задача:
Каждый 1 час начислять $1 на все активные депозиты (это ясно, UPDATE deposits SET sum=sum+1 WHERE status=1)
Затем суммировать активные депозиты каждого юзера и писать их в 'balance' этого же юзера

Вопрос:
Можно ли это сделать средствами SQL?
без использования цикла на php для каждого id (сначала Select, Update, Insert по очереди и т.д.)

Как вообще объединить несколько операций в один SQL-запрос и имеет ли это смысл делать?

Уверен есть готовые решения... задача очень тривиальна для любой партнерской программы

спасиба)
...
Рейтинг: 0 / 0
Подскажите с запросом (Update+Insert)
    #39555342
Фотография Akina
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
MagestiqМожно ли это сделать средствами SQL?Да.

MagestiqКак вообще объединить несколько операций в один SQL-запрос
1) Написать процедуру (см. тут ), в которой выполняются все эти действия. Собсно два UPDATE - сперва депозитов, потом баланса.
2) Создать задание (см. тут ), которое выполняется ежечасно, и задать в нём запуск созданной процедуры. Не забыть убедиться, что планировщик MySQL-сервера запущен.

И, собственно, всё...PHP тут не нужен от слова "вообще".
...
Рейтинг: 0 / 0
2 сообщений из 2, страница 1 из 1
Форумы / MySQL [игнор отключен] [закрыт для гостей] / Подскажите с запросом (Update+Insert)
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]