我将订单号存储在mysql数据库中。我的php脚本读取值并将数字加1。
现在我在几家商店使用这个号码,这么多程序会读取并更新价值。
今天我遇到了问题,两个脚本同时读取并获得相同的值。
因此来自两个不同商店的两个不同订单的编号相同????
在日志文件中,我看到两个订单放在同一时间。
$sqls = "Select value from db_config ";
$sqls .= "WHERE name = 'ordernumber' FOR UPDATE";
$rs = $db->query($sqls);
while($rows=$db->fetch($rs))
{
$_CONF['aufnr'] = $rows['value'];
}
$sqlu = "Update db_config ";
$sqlu .= "SET value=value+1 ";
$sqlu .= "WHERE name = 'ordernumber' ";
$ru = $db->query($sqlu);
我该怎样防止这种情况? 对于我的ERP系统,必须有一个连续的数字。
而且我不想锁定桌子,因为有一个错误让桌子锁定了!
我希望,有人有个主意 bye jogi