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

mysql:422

From: Tamon Nomura <Tamon Nomura <tamon@xxxxxxxxxx>>
Date: Fri, 27 Nov 1998 11:01:20 +0900
Subject: [mysql 422] Re: MS-ACCESS から MySQL を使う


tamonです。

> 確か、MySQLって列単位でのロックってないんてよすね? なのに、ACCESSからだとど
> ういうわけだか同じテーブルのある列はupdateできるんだけれど別の列は「別のユ
> ーザによって更新されました」とかというメッセージが出て更新できない現象が続
> いています。refreshしたり、再起動したり、いろんなことをしたんですが、ダメで

Accessの更新は結構くせがあります。プライマリーキーでの更新ではなく
すべてのカラムをwhereで引っかけてupdateで更新します。
したがって、selectした時点とupdateした時点でレコードが書き換わっていると
1行もUPDATEが行われず「別のユーザによって更新されました」となるわけです。
相手がODBCですし、ロックできない場合もあるので苦肉の策ですね。

で、なぜMySQLで別のユーザが更新してないのに、「別のユーザによって更新
されました」と出るかというと、最初に拾ってきたデータと、whereで持って行く
データに差異がでているからで、経験上、日付カラムが入ってるとおかしいよう
です。最新版は直ってるかもしれませんが、日本語パッチあてて
(とゆうかあてなくても)コンパイルできません。(^^;
# default.cとかodbc.cとかプロジェクトに含まれてないし。ワークスペース
# もない。ほんとにあれでコンパイルしてるのか?
また、2.50.18以降の新しいバージョンでも、日付カラムが有った場合、絶対に
更新できません。(アクセスのみかも)

とりあえず、2.50.17にパッチを当てたDLLを使用して、UPDATEできないレコード
のデータの怪しいカラムをサーバ上で消してみて、更新できるか試してもらい
問題のカラムを特定して、エラーの起る漢字コードを教えていただければ
なにか出来るかもしれないです。



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

       397 1998-11-22 19:26 [Satoshi Koiwa <koiwa] Re: MS-ACCESS から  MySQL を使う        
       399 1998-11-23 00:21 ┣[Shogo Hamamoto <KHC0]                                       
       401 1998-11-23 05:29 ┣[民斗 <tommy@xxxxxxxx]                                       
->     422 1998-11-27 11:01 ┗[Tamon Nomura <tamon@]