我正在开发一个医院管理系统,你知道这是一个庞大的系统,为了清楚起见,接待处将为病人开一张新的门票。门票号码将不会是一个定制的月份号码(112011000101),这意味着门票2011年11月没有101。
保存故障单时,我的应用程序将读取上次保存的故障单号码&用一个增加no,(从Tick_No中选择Tick_No像'112011'按Tick_No DESC限制1的顺序),这将返回上次保存的票证,即(112011000101)增加一个==>新票将是(112011000102)。
所以,如果有两个员工同时保存新票,那么有机会获得重复票吗?
我正在使用mysql数据库的事务,它将进行行级锁定,但仍可用于任何查询。
所以如果有可能,我需要一个明确的答案。
请注意,在我的代码中,当出现问题时保存,将发出回滚并发出自动重试保存功能(在每个保存顺序中,应用程序将执行检查最后一个号码)。
答案 0 :(得分:0)
在这种情况下,您应该进行表级锁定,这样您就可以使用MyISAM
表引擎。这应该有助于http://dev.mysql.com/doc/refman/5.0/en/lock-tables.html