Warning: Cannot use a scalar value as an array in /home/admin/public_html/forum/include/fm.class.php on line 757
Warning: Invalid argument supplied for foreach() in /home/admin/public_html/forum/include/fm.class.php on line 770 Форумы портала PHP.SU :: Версия для печати :: update и select в одном запросе
вот тоже так хотел ответить но не работал с sqlite потому помалкивал
tuareg пишет:
Да и зачем?
как минимум для блокировки строки во избежании наложений запросов от параллельных процессов
хз как в этом бд делается атомарность
select for update там нет
это я нагуглил уже))
транзакция там есть? Ferro7 короче надо думать как замутить транзакцию или может иную форму атомарности
но пофиг будет это 1 запрос или 2
как минимум для блокировки строки во избежании наложений запросов от параллельных процессов
Если не требуется актуальное значение (которое возвратил-бы select после обновления данных), учитывающее возможные изменения другими процессами, то и огород городить ни к чему. Достаточно в вызывающем коде инкрементировать требуемые переменные.
Если же требуется актуальное значение - не поленитесь уж запрос на чтение данных выполнить
PS: можно ещё в хранимую процедуру их завернуть...
Все зависит от использования этого инкремента. Если человек нажимает +1 и это уходит на сервер - совсем не обязательно с сервера получать актуальное число, можно просто получить успешность, а на клиенте сделать +1 и показать человеку.
Так что ситуацию нужно в комплексе рассматривать. Или взять postgresql, он умеет возвращать после апдейта.