cakephp lock从表中选择或做什么来防止重复

时间:2015-01-06 10:53:19

标签: mysql cakephp locking

我有一个用cakephp创建的数据输入应用程序 要保存学生表中的数据,我必须生成其student-id,它等于classname-section-studentNO(9th-B-33)
我创建了私有函数

 private function makeStudentID(){
   here I do select from classnamees, sections and students table
 }

但问题在于,相同的数字被分配给不同的用户,因为我认为这个功能是在同一时间被调用的bcz数据输入操作符很多并且他们正在频繁地输入表单 我不知道如何解决这个问题 -----编辑--------
只考虑你primary key auto numbered不是(max(id)+1),所以下次插入的数字应为
{{1}}因此,如果同时有2个用户发送请求,则他们将获得相同的ID。 如何避免这种重复?

1 个答案:

答案 0 :(得分:0)

尝试将一个学生的所有查询都放在交易中。我不确定,但我认为冲突会以这种方式避免。

http://book.cakephp.org/2.0/en/models/transactions.html