@one1question4you
программист

Как выполнить sql запрос, чтобы select был вместе с insert?

Подскажите пожалуйста. Есть таблица "goods" с полями "id" - id товара и "is_free" - свободен ли товар(0-свободен, 1-занят). К этой таблице одновременно обращаются несколько человек. Как написать таким образом sql, чтобы человек посмотрел, если в таблице товар свободен, то чтобы этот же пользователь его сразу и занимал. Если несколько человек одновременно нажмут на кнопку "занять товар", то чья транзакция придет первая должен посмотреть, что товар свободен и его можно занимать, а следующая транзакция посмотрит, что поле занято и ничего не будет делать.
Пишу на Python с использованием PyMySql для подключения к БД. Использовать различные СУБД не могу, надо реализовать при помощь только имеющегося модуля для sql.
Заранее спасибо!
  • Вопрос задан
  • 91 просмотр
Решения вопроса 1
rozhnev
@rozhnev Куратор тега MySQL
Fullstack programmer, DBA, медленно, дорого
Каким образом предполагается "занимать" товар? Если это поле в таблице товаров то можно так:
UPDATE goods SET is_free = 0, order_by = <user_id> WHERE id = <good_id> AND is_free = 1;
Ответ написан
Комментировать
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы