我有几个动作需要紧凑处理流程比如下用客房软件打个比方
1,首先第一步我通过select 语句从账号表中获取一个上次开房的房间号比如 K00000002
然后在此基础上产生新的房间号K00000003
2,下一步我还要更新房间信息表中记房间状态将其改为占用房,等等,,,总之这个过程有好几个步骤
3,,,,,,
4......
5,更新账号表账号变为K00000003
现在问题来了,如果多个进程或线程执行上面的这些操作时会有下面的问题
比如A电脑开始执行到了3步,而 B电脑开始执行上面的代码,因为还没有更新账号表中的账号
这样得到的新的账号K00000003,这样得到了相同的账号
现在我就是一开始执行上面的代码的时候我就锁定账号表等到所有的步骤完成之后再解锁表
那语句怎么写?
如果我把表锁定了,那B电脑上会报什么错误?是不是有个特定的错误来说明表是被锁定了
这样我可以提示用户操作繁忙稍后重试
我用的MySql。驱动程序ODBC的3.51MySql求助
1,首先第一步我通过select 语句从账号表中获取一个上次开房的房间号比如 K00000002
然后在此基础上产生新的房间号K00000003
2,下一步我还要更新房间信息表中记房间状态将其改为占用房,等等,,,总之这个过程有好几个步骤
3,,,,,,
4......
5,更新账号表账号变为K00000003
现在问题来了,如果多个进程或线程执行上面的这些操作时会有下面的问题
比如A电脑开始执行到了3步,而 B电脑开始执行上面的代码,因为还没有更新账号表中的账号
这样得到的新的账号K00000003,这样得到了相同的账号
现在我就是一开始执行上面的代码的时候我就锁定账号表等到所有的步骤完成之后再解锁表
那语句怎么写?
如果我把表锁定了,那B电脑上会报什么错误?是不是有个特定的错误来说明表是被锁定了
这样我可以提示用户操作繁忙稍后重试
我用的MySql。驱动程序ODBC的3.51MySql求助
解决方案 »
免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货