问题:
当两人同时对mysql表中同一记录进行操作时,第二人想更新时,会提示,此记录已再在被人操作.
如何用mysql的锁概念来实现?或用其它的方法实现?

解决方案 »

  1.   

    你可以用lock tables 来锁住表。第二个操作时,会等你unlock tables时才会执行。
      

  2.   

    有各种各样的方法
    如果用锁的方法
    有表锁 lock table , 有行锁 select .. for update , 有应有锁 get_lock(xx,xx)
    一个用户锁住这资源, 另一个用户只能等待, 但等待必须有个timeout, 否则程序并发性太差.
    可以设置timeout只有应用锁 get_lock(xx,xx), 或用check_lock检查锁有没有被占用.
    表锁\行锁只能通过设置执行语句的timeout来解决以上timeout的问题.