![]() 6 / 5 / 3
Регистрация: 23.08.2012
Сообщений: 143
|
|||||||||||
Как сделать select и update одним запросом что бы потом узнать id этой обновленной записи18.09.2019, 06:35. Показов 8255. Ответов 13
Метки нет Все метки)
(
Всем привет друзья! Перейду сразу к сути! Много рылся в интернете по данному вопросу и нашёл только варианты, как сделать update и select одним запросом, но мне нужно наоборот, что бы знать id обновленной записи. Есть два запроса:
То что можно сделать два запроса я тоже знаю, что иногда даже быстрее, но мне нужно именно один запрос, что бы во время этих двух запросов кто то другой не получил id этой записи и не возникло конфликтов. Знаю про блокировку записи если вложенный запрос обращается к одной и той же колонке. Есть вариант с временными переменными, но как слить два выше перечисленных запроса и создать один, что бы потом вытащить id обновленной записи, ума не приложу.
0
|
18.09.2019, 06:35 | |
Ответы с готовыми решениями:
13
Как обработать несколько select одним запросом ajax? Как узнать наименование и содержание измененных полей запросом UPDATE |
231 / 163 / 54
Регистрация: 26.10.2014
Сообщений: 928
|
||||||||||||||||||||||
18.09.2019, 08:45 | ||||||||||||||||||||||
ничего не понял, но очень интересно
Добавлено через 2 минуты но это тоже самое что
эволюционировал
1
|
![]() 6 / 5 / 3
Регистрация: 23.08.2012
Сообщений: 143
|
|
18.09.2019, 09:21 [ТС] | |
mac1eod, можно ли такие запросы с переменной, которые вы перечислили ниже, писать в одну строчку? У меня биндится запрос через mysqli. Просто я пробовал как вы сделать подобный запрос mysqli ругался на SQL запрос, мол составлен не верно... Возможно я действительно не верно составил, но пробовал самый простой подобный запрос с указанием переменной, на что он ругался. Попробую ваш запрос посмотрим, только вопрос в том можно ли его в mysqli писать в одну строчку.
0
|
231 / 163 / 54
Регистрация: 26.10.2014
Сообщений: 928
|
|
18.09.2019, 09:31 | |
djason, я думаю, можно написать и в одну строчку, главное то разделители строк, те ;
1
|
![]() 6 / 5 / 3
Регистрация: 23.08.2012
Сообщений: 143
|
||||||
19.09.2019, 08:08 [ТС] | ||||||
mac1eod, а зачем здесь...
И первый запрос отличается от второго тем, что в первом происходит выборка, а потом обновление, а второй сначало обновление, потом отдаёт id?
0
|
231 / 163 / 54
Регистрация: 26.10.2014
Сообщений: 928
|
||||
19.09.2019, 08:28 | ||||
1
|
![]() 6 / 5 / 3
Регистрация: 23.08.2012
Сообщений: 143
|
||||||
19.09.2019, 08:55 [ТС] | ||||||
mac1eod, да в php сделать именно выборку значение переменной id. Где не читал про пользовательские переменные там только примеры запросов, но не слова про то как их вытащить и как происходит выборка этого значения в php.
Например конектюсь к БД, делаю следующий запрос:
0
|
231 / 163 / 54
Регистрация: 26.10.2014
Сообщений: 928
|
|
19.09.2019, 09:58 | |
djason, я не слишком близок с пхп, по моему в $result должен получиться результат выполнения запроса, разве нет?
0
|
231 / 163 / 54
Регистрация: 26.10.2014
Сообщений: 928
|
|
19.09.2019, 10:18 | |
djason, используйте хранимую функцию. она будет производить обновление и возвращать значение id
я бы так и сделал, поскольку пхп для меня темный лес.
1
|
![]() 6 / 5 / 3
Регистрация: 23.08.2012
Сообщений: 143
|
|
19.09.2019, 11:03 [ТС] | |
mac1eod, хорошо посмотрю, но все ровно интересно что не так, не хотелось бы лезть в другие дебри, потому что по логике вашего составленного запроса все вроде бы должно работать, поэтому я хочу разобраться в этом, тем более у меня все запросы построены на php и msqli.
0
|
231 / 163 / 54
Регистрация: 26.10.2014
Сообщений: 928
|
|
19.09.2019, 11:10 | |
djason, все так... update, insert, delete не возвращают никаких данных, кроме true false
0
|
![]() 6 / 5 / 3
Регистрация: 23.08.2012
Сообщений: 143
|
|
19.09.2019, 11:35 [ТС] | |
mac1eod, да я про это и говорил чуть выше, просто думал, что в конце стоит ...; SELECT @id; и как бы это по логике вещей и должна быть выборка этой переменной, попробую первый предложенный вами вариант.
0
|
19.09.2019, 11:35 | |
Помогаю со студенческими работами здесь
14
select и update одним запросов Как сделать так, чтобы при клике на рубрику выводились все записи, что в этой рубрике Как сделать одним запросом в бд SQL чтобы сложить все столбцы?
Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |
|
Опции темы | |
|
Новые блоги и статьи
![]() |
||||
Анализ и линтинг кода JavaScript: ESLint, Prettier и JSHint
run.dev 26.04.2025
JavaScript прошёл долгий путь от простого языка для анимации веб-страниц до основы современной веб-разработки. С ростом сложности приложений, увеличением кодовых баз и масштабированием команд. . .
|
Паттерны в Python: Singleton, Factory и Observer
py-thonny 26.04.2025
Паттерны проектирования — это проверенные временем решения типовых проблем разработки программного обеспечения. Их история берёт начало с книги "Приёмы объектно-ориентированного проектирования. . . .
|
Исключения в C#: Stack Overflow, Access Violation и Out of memory
stackOverflow 26.04.2025
Исключения в C# — это не только механизм оповещения о проблемах, а целое искусство управления потоком выполнения программы в экстремальных ситуациях. Обычное исключение, например,. . .
|
Логирование в C# ASP.NET Core с помощью Serilog, ElasticSearch, Kibana
stackOverflow 25.04.2025
Помните те времена, когда для анализа проблемы приходилось подключаться к серверу, искать нужный лог-файл среди десятков других и вручную фильтровать тысячи строк в поисках ошибки? К счастью, эти дни. . .
|
Структура "железный OnKeyUp" вместо антидребезга. Полностью асинхронный счётчик.
Hrethgir 25.04.2025
Программа для симуляции схемы - Logisim Evolution
В общем какое-то время отвлёкся, так было надо, теперь когда запилю это на verilog и FPGA , досоставлю заявку в ФИПС на полезную модель - не готов. . .
|
Автоматизация Amazon Web Services (AWS) с Boto3 в Python
py-thonny 25.04.2025
Облачные вычисления стали неотъемлемой частью современной ИТ-инфраструктуры, а Amazon Web Services (AWS) занимает лидирующие позиции среди провайдеров облачных услуг. Управление многочисленными. . .
|
Apache Kafka vs RabbitMQ в микросервисной архитектуре
ArchitectMsa 25.04.2025
Современная разработка ПО всё чаще склоняется к микросервисной архитектуре — подходу, при котором приложение разбивается на множество небольших, автономных сервисов. В этой распределённой среде. . .
|
Параллельное программирование с OpenMP в C++
NullReferenced 24.04.2025
Параллельное программирование — подход к созданию программ, когда одна задача разбивается на несколько подзадач, которые могут выполняться одновременно. Оно стало необходимым навыком для. . .
|
Цепочки методов в C# с Fluent API
UnmanagedCoder 24.04.2025
Современное программирование — это не только решение функциональных задач, но и создание кода, который удобно поддерживать, расширять и читать. Цепочки методов и Fluent-синтаксис в C# стали мощным. . .
|
Мульти-тенантные БД с PostgreSQL Row Security
Codd 23.04.2025
Современные облачные сервисы и бизнес-приложения всё чаще обслуживают множество клиентов в рамках единой программной инфраструктуры. Эта архитектурная модель, известная как мульти-тенантность, стала. . .
|