【发布时间】:2012-06-29 11:09:10
【问题描述】:
让我详细描述一下这个问题。
我有一个名为导出的表。其中有一个字段 job_no。
当用户来填写此查询时运行
select max(job_no) as Last_Job from jobs
结果是 A005,它是表中的最后一个作业号。
在 PHP 端,我在用户要填写和提交的输入表单中显示 A006。
表单中的 job_no 字段为只读字段,用户无法更改。
如果多个用户同时填写表单,则问题出现了
这是重复的,不是必需的。
现在应该有什么解决方案来防止这种情况。
我有三个解决方案,但我想知道是否有更好的解决方案。
解决方案 1
我将作业编号插入带有用户 ID 的 user_entry 表单并将其显示给用户。
然后当用户提交表单时,我会更新它。
Draback 似乎如果用户取消表单提交,那么 job_no 就没用了。
解决方案 2
我向每个用户显示作业编号,并在提交时检查作业编号,增加它并告诉用户已分配作业编号,因此他将被分配下一个。
如果我不向用户显示提示消息,他会认为他的工作编号是 A006,而在数据库中它将是 A007。
另外,如果我使用 setInterval 运行 ajax 请求,这将是服务器的负载,并且仍然有重复的机会。
这是向用户显示作业编号所必需的。那么在这种情况下有什么更好的方法。或者有什么办法可以解决这个问题?
【问题讨论】:
标签: ajax database codeigniter unique