我有cakephp网站
这是给公司的,他们经常从不同的分支机构提交表格
每个分支中有许多用户在进行数据输入
我必须根据其他表值动态生成formID
因此,在插入之前,我确实要从tbl1,tbl2,tbl3,tbl4中选择并进行连接。
我担心如果同时有另一个数据输入操作员提交表格,那么重复的formID可能会导致
在我的情况下,如何确认唯一的formID。
------------编辑-----------
我必须以以下格式生成formID

project_code-sub_project_code-version_name-last_id+1

ABCD01-WEBAPP-Beta-23


'project_code'在'projects'表中
“ sub_project_code”在“ sub_projects”表中
“版本名称”在“版本”表中

我有“客户”表,其中有引用上述表的外键
现在正在插入“客户”记录
我从“项目”表中选择“ project_code”,从“ sub_projects”表中选择“ sub_project_code” .....
和“客户”表中的“ count(*)+ 1”
现在将所有这些连接起来,并以“ formID”的形式插入“ clients”表中

最佳答案

由于您将formID保存在客户表中,因此有一个现有formID的列表。选择要构建formID的数据之后,但在插入之前,请检查formID是否已存在。如果不是,您可以确定它是唯一的。如果formID已经存在,那么您知道不插入它,并且可以根据需要返回现有的记录ID。

进行此检查后,两个人将无法插入相同的formID,因为第一个人将成功,但第二个将检测到现有的formID。

除非您想出另一种比较的方式,否则需要将formID选择为检查唯一性的步骤。

关于mysql - 如何防止使用cakephp从表中进行选择,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/25794192/

10-13 04:52