«Если рабочий хочет хорошо выполнять свою работу, он должен сначала заточить свои инструменты» — Конфуций, «Аналитики Конфуция. Лу Лингун»
титульная страница > программирование > Как обновить строки и получить обновленные идентификаторы в MySQL без подзапроса?

Как обновить строки и получить обновленные идентификаторы в MySQL без подзапроса?

Опубликовано 8 ноября 2024 г.
Просматривать:596

How to Update Rows and Get Updated IDs in MySQL Without a Subquery?

Объединение запросов SELECT и UPDATE в MySQL

Объединение запросов SELECT и UPDATE в одну операцию может быть полезно для оптимизации производительности базы данных. В этом случае пользователь желает объединить следующие запросы:

SELECT * FROM table WHERE group_id = 1013 and time > 100;
UPDATE table SET time = 0 WHERE group_id = 1013 and time > 100

Хотя подход с использованием подзапроса может не дать желаемых результатов, существует решение, позволяющее достичь цели без подзапроса. Это решение предполагает использование пользовательской переменной (@uids) для хранения обновленных идентификаторов строк:

UPDATE footable
   SET foo = 'bar'
 WHERE fooid > 5
   AND ( SELECT @uids := CONCAT_WS(',', fooid, @uids) );
SELECT @uids;```
Последний учебник Более>

Изучайте китайский

Отказ от ответственности: Все предоставленные ресурсы частично взяты из Интернета. В случае нарушения ваших авторских прав или других прав и интересов, пожалуйста, объясните подробные причины и предоставьте доказательства авторских прав или прав и интересов, а затем отправьте их по электронной почте: [email protected]. Мы сделаем это за вас как можно скорее.

Copyright© 2022 湘ICP备2022001581号-3