これがWebアプリケーションであり、あるページから次のページへとトランザクションを中断しようとしている場合は、しないでください。;動作しません。
「直後」とはどういう意味ですか? 2つのステートメントの間に何もしていない場合は、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とSESSIONを説明するには:GLOBAL値は初期化に使用されます 接続開始時のSESSION値。その後、SESSION値を変更して、実行していることに影響を与えることができます。また、GLOBAL値を変更しても、現在には影響しません。 接続。
タイムアウトを1に変更することは非常に安全です(GLOBALとSESSIONを理解したら)。変更されるのは、そのエラーが発生する頻度だけです。