2010-08-16 5 views
2

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

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

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

ответ

1

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

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

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

Смежные вопросы