公用问题(100分)

  • 主题发起人 主题发起人 mawp
  • 开始时间 开始时间
M

mawp

Unregistered / Unconfirmed
GUEST, unregistred user!
在程序中,增加记录时要产生一个号(年份+四位数字(0001)),这个号要从表中得到最大值,然后加一。当多个用户同时操作时,后操作的用户可能从表中得到和前一个用户相同的号,保存时将出错,这个问题将如何解决?
炷:在前端生成的号应和提交到数据库中的一致
请多多指教
 
在查找最大值和写入新计录的时候将表锁定,这样就不会发生冲突了。
 
要么用锁(估计比较讨厌),要么在提交的时候生成序号,这样会好一些
 
产生的编号要实时在客户端显示,一个用户可能增加了许多记录才提交,
这样另一个用户就无法得到最大的编号
 
同意楼上的,
在写库时再生成编号,并且最好用触发器
 
非常赞成楼上观点,在写库时再生成编号,并且用触发器;
另外,也有其它的方法:在写库的时候先与表中的最大数比较,若最大数为当前数,则
写入数据库,否则,取最大数加‘1’,为当前数,再写入数据库(此方法效率较方法一差)
 
后台同步增加修改删除
 
在插入记录后生成一个预编ID号,在数据保存后在重新生成,如果ID号与其他的有关系,
注意数据的一致性!
 
在写入时,锁定并获得最大值。
 
后退
顶部