3
我有两个应用程序,它们都在MySQL中使用相同的存储过程。 我希望这个过程是同步的,也就是说当一个应用程序调用它时,另一个应该等待。在mysql中同步存储过程
有没有办法做到这一点,而不改变应用程序的代码(即只修改存储过程)?
感谢, krisy
我有两个应用程序,它们都在MySQL中使用相同的存储过程。 我希望这个过程是同步的,也就是说当一个应用程序调用它时,另一个应该等待。在mysql中同步存储过程
有没有办法做到这一点,而不改变应用程序的代码(即只修改存储过程)?
感谢, krisy
你绝对可以在存储过程中做到这一点没有改变你的应用程序代码,但请记住,你将锁定问题和超时的可能性。
使用GET_LOCK()
和RELEASE_LOCK()
来照顾同步。运行GET_LOCK
在存储过程的开始执行同步,并RELEASE_LOCK
一旦你完成:
IF (GET_LOCK('lock_name_for_this_SP', 60)) THEN
.... body of SP
RELEASE_LOCK('lock_name_for_this_SP');
ELSE
.... lock timed out
END IF
您还需要照顾您的应用程序超时比锁定超时,所以你不要再不会产生其他问题。
谢谢你,我正在找的东西! :-) – krisy