Spec-Zone .ru
спецификации, руководства, описания, API

13.3.5.2. LOCK TABLES и Триггеры

Если Вы блокируете таблицу явно с LOCK TABLES, любые таблицы, используемые в триггерах, также блокируются неявно:

Предположите, что Вы блокируете две таблицы, t1 и t2, использование этого оператора:

LOCK TABLES t1 WRITE, t2 READ;

Если t1 или t2 имейте любые триггеры, таблицы, используемые в пределах триггеров, будут также заблокированы. Предположите это t1 определили триггер как это:

CREATE TRIGGER t1_a_ins AFTER INSERT ON t1 FOR EACH ROWBEGIN  UPDATE t4 SET count = count+1      WHERE id = NEW.id AND EXISTS (SELECT a FROM t3);  INSERT INTO t2 VALUES(1, 2);END;

Результат LOCK TABLES оператор - это t1 и t2 блокируются, потому что они появляются в операторе, и t3 и t4 блокируются, потому что они используются в пределах триггера: