Я хочу спросить, что произойдет, когда два пользователя отправят одну и ту же форму, а затем код php, содержащий более одного запроса в более чем одном цикле for, и будут ли выполняться операторы, которые изменяют данные таблицы? Я хочу знать, что все запросы в коде php будут выполняться сначала для первого пользователя, а затем для следующего, или же запросы обоих пользователей будут выполняться одновременно, и если запросы будут выполняться одновременно, то что я могу сделать, чтобы остановить это и выполнить все запросы первого пользователя сначала второго пользователя?

1 ответ1

0

SQL-сервер ничего не знает о вашем PHP-коде - он просто воспринимает серию запросов и заявлений, отправляемых ему. Если ваша функция PHP не атомарна в отношении операций с базой данных, которые она выполняет, вы должны явно обработать эти условия гонки самостоятельно, например, заблокировав таблицу или соответствующие строки.

Обратите внимание, что в зависимости от уровня изоляции, который вы используете, изменения данных таблиц, выполненные одним сеансом, могут быть или не быть видны другим сеансам. Однако эта изоляция сама по себе недостаточна для обеспечения атомарности функции.

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .