Я использую базу данных 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
Предотвратить дублирование записей в базе данных MySQL при одновременном вводе данных от студента и администратора. ⇐ Php
-
- Похожие темы
- Ответы
- Просмотры
- Последнее сообщение