- - PR -
MYSQL(4.0)での排他制御(レコードロック)について
1
| 投稿者 | 投稿内容 |
|---|---|
|
投稿日時: 2005-10-27 17:41
VB6.0+MYSQL(4.0)にてツールを作っています。
MYSQLで、排他ロック時の現在タイムアウト時間が1分程掛かるのですが、 0分にできないでしょうか? とあるサイトでは select * from 〜 for update nowait でロック解除を待たずにエラーを返す。とあったのですが、 SQLエラーとなってしまいます。 そもそもMYSQLの設定なのでしょうか? ご存知の方がいらっしゃいましたらご教示願います。 宜しくお願い致します。 |
|
投稿日時: 2005-10-28 06:41
nowaitって何処で聞きました?
SQL分は方言が多々あるので、まずはMySQLのSQL文を確認してください。 MySQLにはNOWAITに相当する構文は無い事が分かります。 http://dev.mysql.com/doc/refman/4.1/ja/select.html もしNOWAITを実現するためには、MySQLの設定でタイムアウト値(innodb_lock_wait_timeout)を適当に変更することになるかと思います。 でも、それよりはDBの機能としてのロックを使用するのではなく、テーブル設計を変更し、ロック管理用のフィールドを設ける方が良いのではないかと思います。あるいは可能ならLOCK IN SHARE MODEで代用するとか。 _________________ 甕星 <mikahosi@abox9.so-net.ne.jp> http://blogs.msmvp.jp/mikahosi/ |
1
