mysql:12995
From: 天野 潔 <天野 潔 <kiyoshi.amano@xxxxxxxxxx>>
Date: Thu, 18 May 2006 15:06:19 +0900
Subject: [mysql 12995] SQL 文の文法エラーで、以降ロックが解除できない?
お世話になっております。天野です。 以下のような SQL 文を C# で生成して mysql のサーバに投げているのですが、SQL 文法 エラーがあった場合、クライアントのプログラムがフリーズした上、mysqld を再起動し ない限り、他のユーザもアクセスできなくなってしまいます。 lock tables characters write, messages write; insert into characters … ; ←ここにSQL文法エラーがあった select sn from characters where … ; ここで取得した sn の値を元に以下を実行 update messages set … where sn = XX; unlock tables; 普通は SQL 文のエラーがあった場合、エラーメッセージをはいて SQL の接続の解除され るのですが、上記のように lock tables があった場合、ロックした状態で接続が続いて いるようなのです。 このシステムは、ログインの管理を mysql で行っているため、1ユーザのエラーで他の ユーザがすべてログインできなくなるという、重大な問題が生じて困っています。 このようなことは普通にあるのでしょうか。また回避する方法はあるのでしょうか。 何かご存じの方がいらっしゃればよろしくお願いいたします。 バージョンは RHLE 3.0 に添付の mysql 3.23 を使用しています。 また、クライアントは XML Web サービスで mysql が稼働しているサーバにアクセスし、 Webサービスプログラムにより、ローカルでSQLにアクセスしています。 ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 天野 潔 <kiyoshi.amano@xxxxxxxxxx> ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━