
もともとMicrosoft SQLで使用していたアプリケーションを多少改造し、MySQLにしようと思っています。
データ型もコマンドもすべて一致しているし、と思って構築をしていたら一つ見落としていたことがありました。
排他的ロックです。
MySQLで排他的ロックってどうやってやればいいのでしょう?
ちなみに今はこのコマンドをどうすればMySQLで動くのか迷い中です。
SET LOCK_TIMEOUT 1000//ロックのタイムアウトを設定
SELECT * FROM # WITH(XLOCK) WHERE $//排他的ロック
No.1ベストアンサー
- 回答日時:
ロックはコチラ。
http://dev.mysql.com/doc/refman/4.1/ja/innodb-lo …
http://www.buena-idea.net/~hironobu/mysql/m-2-10 …
コマンドでのタイムアウト設定はないと思います(あったらゴメンナサイ)
http://dev.mysql.com/doc/refman/4.1/ja/innodb-st …
ありがとうごさいます。
SELECTのFOR UPDATEで排他的ロックできるんですね。
(主キーの設定はいるようですが)
タイムアウトの設定はやはりないようですね。
(自分でポーリングして見るしかないようですね)
勉強になりました。
No.2
- 回答日時:
排他制御は標準SQLで詳しく規定されている訳でもなく、各RDBMSにより実装方法はバラバラであり、まったく同じように実現できるとも限りません。
SQL ServerのようにSQL中にヒントとして記述する方式もあれば、MySQLのように使用するストレージエンジンやset transaction、select文のfor updateの組み合わせなどで実装しているものもあります。
上記のようなキーワードで、マニュアルを参照してみてください。
for updateで実現できました。
inno dbでかつ主キー等設定する必要はあるようですが。
ちなみにfor updateをかけたとき排他的ロックは明示しなくても
UPDATEコマンドを発行したときに排他的ロックの解除ができるのでしょうか?
(コマンドを投げてみてそういうような動きをしているように感じたので)
ありがとうございました。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- MySQL mysqlがインストールされているのかどうか 1 2023/06/05 14:19
- MySQL 参考書に従って入力したつもりでしたが、最後はエラーがでました。 1 2022/09/28 03:45
- MySQL mysqlがインストールされているのかわかりません 1 2023/06/05 02:26
- Android(アンドロイド) Googleのファミリーリンクの危険性に気付いてしまったのですが、皆さんの感想を教えてください! 2 2023/05/09 10:01
- docomo(ドコモ) SIMロック、またはSIMロック解除の仕組みをおしえてください。 5 2022/04/25 10:57
- MySQL 共通点はあります。何が違うのでしょうか? 1 2023/01/27 05:22
- その他(悩み相談・人生相談) 付き合ってる相手が前は携帯ロックかけてないのについ最近会った時ロック設定してたなぜ? 奥さんに見られ 3 2023/04/02 05:34
- その他(車) 高性能な盗難防止装置を教えてください 12 2023/07/05 13:33
- 法学 閉じ込め問題について、家電メーカーは責任を持たないのでしょうか? 9 2023/06/14 11:12
- 写真・ビデオ iPhone12を使っていたのですが液晶が壊れてしまいました、画面も変な線が縦に入ってしまいロック画 1 2023/01/10 02:01
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
SELECT文でのデッドロックに対...
-
SELECT時の行ロックの必要性に...
-
AccessShareLock はどの程度気...
-
更新ロックとデッドロック
-
Oracleの排他制御について教え...
-
SQLServer Insertが遅い
-
INSERTにおいてロック処理は必要か
-
排他ロックしたレコードが、別...
-
accessのロック
-
トランザクション中にSELECTし...
-
デッドロックが発生します。
-
SELECT FOR UPDATE にトランザ...
-
UPDATE文で発生するデッドロッ...
-
トランザクションとlast_insert_id
-
「マスタ」と「テーブル」の違...
-
ACCESSのSQLで、NULLかNULLでな...
-
SI Object Browserのテーブルス...
-
ACCESSのODBCリンクテーブルに...
-
Accessにインポートしたら並び...
-
3つ以上のテーブルをUNIONする...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
SELECT文でのデッドロックに対...
-
SELECT時の行ロックの必要性に...
-
SQLServer Insertが遅い
-
accessのロック
-
Oracleの排他制御について教え...
-
AccessShareLock はどの程度気...
-
SELECT文でタイムアウト...
-
UPDATE文で発生するデッドロッ...
-
INSERTにおいてロック処理は必要か
-
DB2でSelectした時(rollback,c...
-
max+1で初番する場合 for updat...
-
排他ロックしたレコードが、別...
-
更新ロックとデッドロック
-
パススルークエリでのロックに...
-
ExcelからAccess2013DBを更新す...
-
同一トランザクションの中でテ...
-
デッドロックが発生します。
-
トランザクション中にSELECTし...
-
同時書き込み
-
SQLServerの明示的なロックの仕...
おすすめ情報