2013-03-01 52 views
1

MySQL(InnoDB)表可以鎖定遞歸MySQL:表可以遞歸鎖定嗎?

在LOCK TABLES文檔中找不到任何提及的嵌套或遞歸。

默認行爲似乎是(根據我所觀察到的)第二個鎖隱式地解鎖第一個鎖。

有沒有什麼辦法讓它的函數遞歸?

回答

1

如果通過遞歸地,您的意思是反覆調用LOCK TABLES,創建一系列嵌套鎖,那麼答案是「否」。在表上調用LOCK TABLES隱式釋放該線程在該表上保存的任何當前鎖。

the MySQL LOCK TABLES syntax documentation

UNLOCK TABLES明確釋放當前會話持有的表鎖。 LOCK TABLES在獲取新鎖之前隱式釋放當前會話持有的任何表鎖。

+0

雅,這是我一直在觀察的行爲。 是否有任何方法**使它**函數遞歸? – 2013-03-01 04:15:45

+0

@ AJ.DE你爲什麼需要?聽起來更像是你想要交易。 – Petah 2013-03-01 04:17:40

+0

在MySQL中沒有遞歸鎖定的方法。 – hrunting 2013-03-01 04:22:46