Ако това е уеб приложение и се опитвате да задържите транзакцията от една страница на друга, не; няма да работи.
Какво имаш предвид под "точно след това"? Ако не правите нищо между двете изявления, дори таймаут от 1 секунда трябва да е достатъчно голям.
mysql> SET GLOBAL innodb_lock_wait_timeout = 1;
mysql> SELECT @@innodb_lock_wait_timeout;
+----------------------------+
| @@innodb_lock_wait_timeout |
+----------------------------+
| 50 |
+----------------------------+
mysql> SET SESSION innodb_lock_wait_timeout = 1;
mysql> SELECT @@innodb_lock_wait_timeout;
+----------------------------+
| @@innodb_lock_wait_timeout |
+----------------------------+
| 1 |
+----------------------------+
За да обясним GLOBAL vs SESSION за VARIABLES:GLOBAL стойността се използва за инициализиране стойността SESSION, когато връзката ви започне. След това можете да промените стойността на SESSION, за да повлияете на това, което правите. И промяната на GLOBAL стойността няма ефект върху текущата ви връзка.
Промяната на таймаута на 1 е доста безопасна (след като разберете GLOBAL vs SESSION). Единственото нещо, което ще се промени, е честотата на получаване на тази грешка.