Как избежать дублирования идентификатора заказа

Я столкнулся с проблемой возможного дублирования идентификатора заказа, если он будет отправлен одновременно.

Могу ли я узнать, как полностью решить эту проблему или избежать ее возникновения?

Ниже мой код показывает, как я получаю идентификатор заказа и отправляю его в базу данных.

<?php

$sqlt = "SELECT ORD_ID FROM tpointgroup WHERE Group_ID = '$tid'";
$order = mysqli_query($conn , $sqlt);
$rowcount = mysqli_num_rows($order);
if ($rowcount == 0)
echo "No records found";
else
{
$rowt = mysqli_fetch_assoc($order);
}
$ordid = $rowt["ORD_ID"] + 1;
?>

$ORD_ID = date('ym').str_pad($tkid, 6, '0', STR_PAD_LEFT);

$insert = "insert into cusinfo (ORD_ID) values ('$ORD_ID')";
$insert3 = "UPDATE tpointgroup SET
ORD_ID = '$ordid'
WHERE Group_ID = $tid ";

Я беру идентификатор заказа из таблицы tpointgroup, потому что я хочу знать, каков текущий идентификатор заказа, и добавить 1 к нему.
Когда пользователь нажимает кнопку Отправить, идентификатор заказа будет назначен клиенту и обновит текущий идентификатор заказа в таблице tpointgroup.

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

0

Решение

Попробуйте следующее, чтобы создать уникальный идентификатор заказа.

$order_id = time() . mt_rand() . $tid;
1

Другие решения

Других решений пока нет …

По вопросам рекламы [email protected]