веб-вставки в то же время - PullRequest
       21

веб-вставки в то же время

2 голосов
/ 09 декабря 2010

Мы разработали онлайн-викторину, где пользователи могут зарегистрировать команду для участия в викторине.

В asp есть проверка, чтобы узнать, было ли это имя команды уже отправлено, и если оно имело,генерируется ошибка.

Мы заметили проблему, если 2 команды зарегистрированы одновременно в одно и то же имя, что обе команды зарегистрированы.Хотя это маловероятно, мы задались вопросом, какой подход следует использовать для преодоления этого.

Мы используем mySql в качестве базы данных, если это имеет какое-либо значение.

Спасибо за любые рекомендации.

Ответы [ 3 ]

1 голос
/ 09 декабря 2010

Не волнуйтесь, этого никогда не произойдет.

Базы данных достаточно умны и обрабатывают isuuses параллелизма.

Если вы запустите запрос к базе данных для регистрации команды и регистрации другой команды одновременновремя на уровне базы данных первый запрос (когда он отправляется в базу данных) завершается успешно, а второй завершается неудачно с ошибкой, о которой следует позаботиться.Если для регистрации необходимы действия, а не простая вставка в таблицу, вы должны использовать объекты транзакций в своих запросах / процедурах магазина.

1 голос
/ 09 декабря 2010

Вы можете установить имя столбца как уникальное, и база данных выдаст ошибку при второй вставке. Если вы хотите сделать это в коде, это будет сложнее.

0 голосов
/ 09 декабря 2010

Не уверен, как две команды могут зарегистрироваться в одно и то же время - даже если запросы отправляются одновременно (вплоть до наносекунды), ваша семантика транзакции должна по-прежнему гарантировать, что одна из них будет «первой» с точки зрения базы данных .

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