Hvis dette er en webapplikation, og du forsøger at hænge fast i transaktionen fra den ene side til den næste, ikke; det vil ikke virke.
Hvad mener du med "lige efter"? Hvis du ikke laver noget mellem de to udsagn, burde selv en timeout på 1 sekund være stor nok.
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 |
+----------------------------+
For at forklare GLOBAL vs SESSION for VARIABLER:GLOBAL-værdien bruges til at initialisere SESSION-værdien, når din forbindelse starter. Derefter kan du ændre SESSION-værdien for at påvirke, hvad du laver. Og at ændre den GLOBALE værdi har ingen effekt på din aktuelle forbindelse.
Ændring af timeout til 1 er ganske sikkert (når du forstår GLOBAL vs SESSION). Det eneste, der vil ændre sig, er hyppigheden af at få den fejl.