我目前正在开发数据库/网站服务器界面,以便于输入数据收集项目的数据。对数据库进行了两种类型的添加:此处为A和B.数据库中处理这些条目的一些表如下:
dcs_projectname_a
dcs_projectname_b
除了创建者,时间戳等之外,每个都有所有必需输入字段的表。
网站上的页面有三个不同的选项:添加,查看和编辑。每种类型条目的每个页面执行相应的功能。也就是说,添加页面添加,查看页面视图等
我刚刚完成;然而,我还没有遇到过一个重大挑战:并发性。将有多个用户同时向数据库添加内容。每个条目都有自己的特定ID,不能有任何重复的id。也就是说,第一个条目是A000001,下一个是A000002,依此类推。
在添加和编辑页面上,有一个禁用字段供用户在物理记录条目时查看其他用途的ID。
我需要弄清楚的是如何实现并发管理,以便当用户同时添加一个不会在同一个id和行下的时候。
添加页面会自动生成要使用的ID,方法是访问数据库的最新ID并添加一个。
我的想法是每次打开添加页面时在表格中创建一个新行,并为其计算id。然后,当添加信息时,它会对该现有行执行修改。这样,如果另一个用户打开添加页面而当前正在添加另一个条目,则将给出将来的ID,而不是同一个。
使用此方法,如果用户离开添加页面或关闭浏览器,我需要一种方法来删除此条目。然后,我还需要其他具有打开添加页面的用户,以便在第一个用户(或任何其他小于所使用的id的用户)离开其添加页面并取消添加时自动将其ID更新为一个。
这是一个复杂的解释,如果你不明白让我知道,我会尽力回答。非常感谢任何帮助!
由于
答案 0 :(得分:0)
您的问题有很多解决方案,但您似乎通过让应用程序为您生成记录ID而使事情变得更难。
相反,您可以使用MySQL的AUTO_INCREMENT
功能为您自动生成/增加记录ID(插入时)。 MySQL将确保没有重复项,您可以摆脱额外的数据库调用以检索最新的ID。