[前][次][番号順一覧][スレッド一覧]

mysql:6075

From: Takeyuki Miyagawa <Takeyuki Miyagawa <miyagawa@xxxxxxxxxx>>
Date: Tue, 03 Sep 2002 10:33:25 +0900
Subject: [mysql 06075] Re: テーブルのロックについて

宮川です。

>実は「ABCDE00123」のようなアルファベットとの
>組み合わせになっておりまして、
>文字型でフィールド宣言しているんですよ。
>なもんで、「手動」でインクリメントしています。

あんまり賢くないやり方ですが・・。

ロックをどうにかするとすれば、伝票の最大値を取得して、
加工してから登録すればロックをする必要もないと思います。

1.select 伝票番号 from table;

2.取得した伝票番号の加工

3.update table set 伝票番号 = 新伝票番号
  where 伝票番号 < 新伝票番号

4.更新件数の確認
	1件のレコードの更新ができればOKで、0件更新の場合には 1.戻る。

ただ、集中してアクセスがある場合に、運が悪いといつまでたっても
伝票番号の登録ができない端末が出たりしそうなきがしますが。


それか、CONNECTION_ID()で thread_id を取得、保持しておいて
処理で止まったままなら、止まったのをKILL thread_id で切るとかでしょうか。

----
miyagawa@xxxxxxxxxx

[前][次][番号順一覧][スレッド一覧]

      6057 2002-09-02 15:21 [田雑  雅広 <TazouM@x] Re: テーブルのロックについて            
->    6075 2002-09-03 10:33 ┗[Takeyuki Miyagawa <m]