Главная > MySQL > MySQL одновременный SELECT и UPDATE при работе с одной таблицей

MySQL одновременный SELECT и UPDATE при работе с одной таблицей

MySQL не позволит вам сделать выборку данных SELECT из таблицы в тот момент, когда одновременно делается обновление данных UPDATE той же таблицы.
Т.е. нижеприведенный пример – недопустимый:

В такой ситуации нужно использовать связывание таблицы с собой. Присоединяемая таблица будет реализована через временную таблицу, поэтому подзапрос откроет и закроет таблицу до того, как UPDATE откроет её. Таким образом данный запрос будет успешно выполнен:



  1. 06 Янв 2017 из 14:50 | #1

    скажите а как сделать чтобы форма была скрыта для пользователей до оплаты

  2. 08 Апр 2015 из 21:24 | #2

    Как изменить только одно поле по примеру корзины, где пользователь меняет количество товаров?

  3. виктор
    06 Авг 2014 из 10:59 | #3

    приветствую! подскажите по этой строчке: AS tbl_2 USING(type)
    что вместо type нужно вписывать? поле у которого есть индекс? для чего вообще нужно писать USING(type)?

  4. nistelroi
    09 Май 2014 из 23:31 | #4

    Есть ещё один способ, внутренний подзапрос сделать как SELECT FROM SELECT
    http://ramzes.ws/blog/cant-specify-target-table-for-update-in-from-clause
    Иногда такой вариант бывает удобнее

  1. Трекбеков пока нет.