数据库模式:booking_number(主键,非自动增量),费用(浮点数)......等等
"booking_number" 在每次插入时都要递增。这不是由数据库自身自动递增的。 "booking_number" 必须在代码中递增,不能出于其他原因自动完成。
如果我想插入一行,我会读取最后一个 "booking_number",将其递增并将新行写回数据库。 同时,另一个用户也在插入一行,他读取了 "booking_number" 的最后一条记录,这与我读取的相同,因为我还没有写入新行。他也会递增到相同的值并写回。这将导致冲突。
因此,如果我可以锁定数据库表,直到有人完成读取和写入新行之前,其他人就无法读取/写入该表。
我能在 CakePHP 中锁定数据库表吗? 在哪里可以获得参考书籍或代码?
任何帮助都将不胜感激!