有三个客户同时在同一个网络,同一时间进行先select后update的两个操作,意思是a客户select再updat,b客户select再update,c客户select再update,如何才能,先处理a客户,然后在处理b客户,再然后处理c客户的操作呢?他们是同一时间,同-条网络,同一速度进行! 

解决方案 »

  1.   

    没有办法。除非你在程序中手工的显示用 LOCK TABLES 把表锁定,这样当 A 用户 LOCK TABLES 后,B ,C 必须等待 A 的 UNLOCK TABLES. 但无法确保B一定在C之前进行操作。 如果需要确保这个顺序,则需要你在自己的程序中进行控制。
    .
      

  2.   

    innodb 支持 LOCK TABLES ????
    innodb的事务模式是什么?不明白事务的意思,可以说明一下吗?是否,事务的意思就是一个进程select id from aa where id=1,然后再运行下一个进程相同的select id from aa where id=1 ????当select id from aa where id=2的时候,就并发进程吗?不理解呢~~~~~~~~~
      

  3.   

    select.....for update 这个我知道,但系a客户select后还要update数据,再到b客户或者c客户的select和update,他们都同一时间做同一样事情,a客户要有优先权!innodb能否做到?或者是否已经做到了??不用设置的情况下???