Я реализую конкурс, где может быть много одновременных записей. Я собираю некоторые пользовательские данные, которые я помещаю в одну таблицу с именами. У меня есть другая таблица сгенерированных уникальных скидочных кодов в таблице, называемой discountCodes. Затем я присваиваю их каждой записи. Я думал, что сделаю это, поместив идентификатор записи в таблицу discountCodes.Блокировка MS SQL для обновления
Как может быть много одновременных пользователей, я думаю, что я должен выбрать первую неназначенную строку, а затем назначить идентификатор записи этой строке. Мне нужно убедиться, что между выбором неназначенной строки и добавлением идентификатора записи, что другой поток не находит ту же строку.
Каков наилучший способ гарантировать, что строка не будет назначена дважды?
Вы можете добавить 'falg' к столу, так что вы можете пометить как только один выбрать каждую строку? –
@huMptyduMpty Проблема с этим - если пользователи одновременно выбирают его, они могут выбрать один и тот же флажок перед установкой флага. – Elias
@Elias: Да, но вы можете избежать использования одного и того же твизма строки? –