Предотвратить дублирование записей в базе данных MySQL при одновременном вводе данных от студента и администратора.Php

Кемеровские программисты php общаются здесь
Ответить Пред. темаСлед. тема
Anonymous
 Предотвратить дублирование записей в базе данных MySQL при одновременном вводе данных от студента и администратора.

Сообщение Anonymous »

Я использую базу данных PHP и MySQL.
В сценарии администратор и студент одновременно обращаются к базе данных (миллисекунды), и в моей таблице базы данных появляется повторяющаяся запись.
Пример: у меня есть таблица Student_pay с тремя атрибутами. ID(PK), имя, номер_токена. И администратор, и студент обновляют одну и ту же таблицу и дублируют номер токена, сгенерированный в таблице платежей студентов. Здесь администратор и студент используют разные страницы PHP, например, Student_admin.php, а студент использует Student.php.
Это сценарий, в котором несколько студентов посещают офис колледжа, оплачивают сборы вручную (наличными, чек, UPI), попросите администратора ввести данные, и администратор введет данные. Предположим, имя этого студента — Student_Y.
Другие студенты, предположим, что имя студента — Student_X, оплачивают сборы онлайн, используя шлюз онлайн-платежей, и эти данные автоматически вставляются в таблицу Student_pay после оплаты.
В некоторых случаях в течение доли секунды они (администратор и студент) нажимают одну и ту же кнопку и дублируют номер токена, сгенерированный в таблице Student_pay. Это происходит, когда Student_X загружает свои данные через свой мобильный телефон или ноутбук, а администратор одновременно загружает данные Student_Y в офисе. Оба являются разными данными, но для обоих назначен один и тот же номер токена.
Номер токена генерируется как на странице Student_admin.php, так и на странице Student.php. В настоящее время мы получаем max(token_number) и увеличиваем его на 1, а затем немедленно вставляем данные в таблицу Student_pay.
Решение блокировки базы данных может не работать, поскольку администратор получает первый элемент управления, а таблица заблокирован, затем студент(student.php), если он/она выполняет онлайн-платеж, выполняется частичная транзакция. платеж получен, а данные не вставлены после оплаты.
Есть ли какое-либо решение этой проблемы на PHP или в базе данных MySQL?

Подробнее здесь: https://stackoverflow.com/questions/793 ... -from-stud
Реклама
Ответить Пред. темаСлед. тема

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

  • Похожие темы
    Ответы
    Просмотры
    Последнее сообщение

Вернуться в «Php»