我正在更新这个问题,请不要理解下面的评论,因为我没有删除这个问题,而是重新设计了它。
php页面上的一个表单让我创建一个csv文件,命名这个文件我需要在数据库上运行一个SELECT,它名称不存在,我的查询必须创建它;如果名称存在,则必须更新它。
问题是,有两个或更多用户可以同时按下提交按钮。 这将导致查询为所有这些值重新生成相同的值,从而以非受控方式创建或更新文件。 我需要创建一个系统,它将锁定表以进行INSERT / UPDATE,如果同时出现另一个连接,则数据库中将命名文件的列必须增加+1。
never
凡"参考"是" Axxxx"格式的渐进数字。 x是数字。
SELECT将是:
$date = date("Ymd");
$csv = fopen("/tmp/$user_$date_$id_$reference.csv", 'w+');
我需要创建一个函数,如下所示,用户可以INSERT和UPDATE,并且在并发连接的情况下,不是第一个的函数将具有" reference"增加1。
$sql = pg_query($conn, " SELECT user, identification, reference, FROM orders WHERE identification = '$_POST[id_order]' ORDER BY date DESC LIMIT 1");
while ($row = pg_fetch_row($sql)) {
$user = $row[0];
$id = $row[1];
$reference = $row[2];
}
我希望我所要求的是明确的,重新阅读并且我理解它。如果您有任何问题,请在下方发表评论。 我真的希望有人可以帮助我!
我在postgres手册中寻找一些线索,我找到了关于锁定的链接,但我不确定这是我需要的:LINK