Форум программистов, компьютерный форум, киберфорум
PHP: базы данных
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.50/4: Рейтинг темы: голосов - 4, средняя оценка - 4.50
75 / 75 / 13
Регистрация: 02.02.2012
Сообщений: 462

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

06.10.2013, 17:12. Показов 762. Ответов 2
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
SQL
1
2
3
4
5
6
7
8
9
SELECT dUserId, dMoney, dParts, pPercent, TRUNCATE(pPeriod / pAdd, 0) AS totalParts , TRUNCATE( (
UNIX_TIMESTAMP( NOW( ) ) - UNIX_TIMESTAMP( dTime ) ) / pAdd, 0
) AS nowParts
FROM  `deposits` 
LEFT JOIN plans ON pId = dPlansId
WHERE dParts < pPeriod / pAdd
AND TRUNCATE( (
UNIX_TIMESTAMP( NOW( ) ) - UNIX_TIMESTAMP( dTime ) ) / pAdd, 0
) > dParts

далее идет оперирование данными в цикле

PHP
1
2
3
4
5
6
7
8
while(........{
if( $row['nowParts'] > $row['totalParts'] ) $needParts = $row['totalParts'] - $row['dParts'];
else $needParts = $row['nowParts'] - $row['dParts'];
 
$add = $row['pPercent'] / 100 * $needParts * dMoney;
 
//UPDATE users SET uBal = uBal + $add WHERE uId = $row['dUserId']
......);
получается если из таблицы достану например 100 записей то в цикле сделается 100 апдейтов подрят что не есть хорошо. как можно оптимизировать?
0
IT_Exp
Эксперт
34794 / 4073 / 2104
Регистрация: 17.06.2006
Сообщений: 32,602
Блог
06.10.2013, 17:12
Ответы с готовыми решениями:

Несколько UPDATE запросов заменить на один
Здравствуйте. В данный момент у меня по циклу выполняются 5 UPDATE запросов. К примеру таких: mysql_query(&quot;UPDATE `pr` ...

Update в БД через Select
Добрый день. Есть данные из select &lt;select class=&quot;form-control form-size&gt; &lt;option value=&quot;2&quot;&gt;Назначить...

Составление запросов. SELECT FROM
Нужно вывести список служащих с указанием их наименований, должностей, номеров офисов, где они работают. Тут же указать, какой процент ...

2
 Аватар для AndreyDyakonov
122 / 120 / 7
Регистрация: 21.04.2013
Сообщений: 615
06.10.2013, 20:01
Цитата Сообщение от fireridlle Посмотреть сообщение
далее идет оперирование данными в цикле
ожос. с прогоном в цикле по сети всех запросов между веб сервером и сервером базы данных.. А ведь хранимую процедуру с циклами для такого примитивного кода проще на sql написать. меньше раз по клавишам нажать придется и код работать быстрее будет..
1
75 / 75 / 13
Регистрация: 02.02.2012
Сообщений: 462
06.10.2013, 23:37  [ТС]
хорошо. тогда как сделать несколько апдейтов в одном?

Добавлено через 1 час 36 минут
можно создавать хран. процедуру мускула из под пхп?

Добавлено через 1 час 48 минут
хочу еще сделать по такому принципу
SQL
1
INSERT INTO users(uId) VALUES(34),(35) ON DUPLICATE KEY UPDATE uBal = uBal + 2
но не срабатывает
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
BasicMan
Эксперт
29316 / 5623 / 2384
Регистрация: 17.02.2009
Сообщений: 30,364
Блог
06.10.2013, 23:37
Помогаю со студенческими работами здесь

select-insert-update в одном запросе
мне нужен был запрос такого рода - проверить есть ли такая запись, если есть то к той записи просто счетчик +1, если нет то занести запись...

SELECT после UPDATE возвращает старые данные
Здравствуйте! Такая вот ситуация: необходимо обновить данные в таблице, а затем получить имеющиеся записи. Оператор SELECT...

INSERT, SELECT, UPDATE, DELETE в одном запросе
На самом деле мне надо совместить INSERT и UPDATE. Дело в том, когда совмещаю примерно таким образом: mysql_query(&quot; INSERT...

Нужны универсальные функции INSERT, SELECT, UPDATE и DELETE!
Добрый день, уважаемые коллеги! Не могли бы вы помочь новичку?! В общем есть База Данных. В Денвере. (хотя БД не имеет значения) ...

Использование операторов SELECT, DELETE и UPDATE в одном запросе в PDO
возможно ли в одном запросе к базе использовать операторы SELECT, DELETE и UPDATE если можно то как (в примере) Добавлено через 11...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
3
Ответ Создать тему
Новые блоги и статьи
PhpStorm 2025.3: WSL Terminal всегда стартует в ~
and_y87 14.12.2025
PhpStorm 2025. 3: WSL Terminal всегда стартует в ~ (home), игнорируя директорию проекта Симптом: После обновления до PhpStorm 2025. 3 встроенный терминал WSL открывается в домашней директории. . .
Как объединить две одинаковые БД Access с разными данными
VikBal 11.12.2025
Помогите пожалуйста !! Как объединить 2 одинаковые БД Access с разными данными.
Новый ноутбук
volvo 07.12.2025
Всем привет. По скидке в "черную пятницу" взял себе новый ноутбук Lenovo ThinkBook 16 G7 на Амазоне: Ryzen 5 7533HS 64 Gb DDR5 1Tb NVMe 16" Full HD Display Win11 Pro
Музыка, написанная Искусственным Интеллектом
volvo 04.12.2025
Всем привет. Некоторое время назад меня заинтересовало, что уже умеет ИИ в плане написания музыки для песен, и, собственно, исполнения этих самых песен. Стихов у нас много, уже вышли 4 книги, еще 3. . .
От async/await к виртуальным потокам в Python
IndentationError 23.11.2025
Армин Ронахер поставил под сомнение async/ await. Создатель Flask заявляет: цветные функции - провал, виртуальные потоки - решение. Не threading-динозавры, а новое поколение лёгких потоков. Откат?. . .
Поиск "дружественных имён" СОМ портов
Argus19 22.11.2025
Поиск "дружественных имён" СОМ портов На странице: https:/ / norseev. ru/ 2018/ 01/ 04/ comportlist_windows/ нашёл схожую тему. Там приведён код на С++, который показывает только имена СОМ портов, типа,. . .
Сколько Государство потратило денег на меня, обеспечивая инсулином.
Programma_Boinc 20.11.2025
Сколько Государство потратило денег на меня, обеспечивая инсулином. Вот решила сделать интересный приблизительный подсчет, сколько государство потратило на меня денег на покупку инсулинов. . . .
Ломающие изменения в C#.NStar Alpha
Etyuhibosecyu 20.11.2025
Уже можно не только тестировать, но и пользоваться C#. NStar - писать оконные приложения, содержащие надписи, кнопки, текстовые поля и даже изображения, например, моя игра "Три в ряд" написана на этом. . .
Мысли в слух
kumehtar 18.11.2025
Кстати, совсем недавно имел разговор на тему медитаций с людьми. И обнаружил, что они вообще не понимают что такое медитация и зачем она нужна. Самые базовые вещи. Для них это - когда просто люди. . .
Создание Single Page Application на фреймах
krapotkin 16.11.2025
Статья исключительно для начинающих. Подходы оригинальностью не блещут. В век Веб все очень привыкли к дизайну Single-Page-Application . Быстренько разберем подход "на фреймах". Мы делаем одну. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2025, CyberForum.ru