PDO начало транзакции против блокировки базы данных MySQL - PullRequest
2 голосов
/ 16 августа 2010

В чем преимущество использования pdo begintransaction, это то же самое и блокировка mysql db одинаковы?

У меня есть таблица с URL-адресами и столбцом состояния, когда мое приложение загружает 10 URL-адресов, мне нужно обновить столбец состояниякак загружено.Это приложение будет доступно сразу нескольким пользователям, как я могу запретить пользователю B загружать те же URL-адреса, которые были загружены пользователем A, и до обновления столбца состояния.

Пожалуйста, кто-нибудь может мне помочь.

Ответы [ 2 ]

1 голос
/ 16 августа 2010

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

  • Блокировка таблицы для записи
  • Выберите 10 URL, где статус = новый
  • Установите для этих 10 URL-адресов статус = обработка
  • Разблокировать стол
  • Для каждого URL, обработки и установки статуса = готово
1 голос
/ 16 августа 2010

PDO :: beginTransaction позволит откатить изменения, если что-то пошло не так с PDO :: rollback, в то время как таблицы блокировки не будут.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...