質問するログイン新規登録

質問編集履歴

2

プライマリーキーである「id」が「AUTO_INCREMENT」である場合であっても異なるショップ IDへ対する操作も待ち状態となる点間違いを訂正しました。

2018/05/11 08:21

投稿

Auxo
Auxo

スコア34

title CHANGED
File without changes
body CHANGED
@@ -45,6 +45,8 @@
45
45
 
46
46
  上記の操作を行うと、ターミナル1のトランザクションが終了する、またはタイムアウトするまでターミナル2は待ち状態となります。
47
47
 
48
- この現象は、プライマリーキーである「id」を「AUTO_INCREMENT」に変更する事で回避できる事は理解していますが、できれば文字列型のキーをそのまま使いたいと考えています。
48
+ ~~この現象は、プライマリーキーである「id」を「AUTO_INCREMENT」に変更する事で回避できる事は理解していますが、できれば文字列型のキーをそのまま使いたいと考えています。~~
49
+ その後再検証しましたが、そもそもプライマリーキーである「id」を「AUTO_INCREMENT」に変更しても同様にロックがかかり異なるショップIDに対してであっても待ち状態となりました。
50
+ その為、現状は解決方法がないようです。
49
51
 
50
52
  ショップ1の操作中であってもそれ以外のショップの商品を登録できるようにするには、どのような対応をすればよいのでしょうか。

1

環境がMySQL5.7のInnoDBであることを追記

2018/05/11 08:21

投稿

Auxo
Auxo

スコア34

title CHANGED
File without changes
body CHANGED
@@ -1,4 +1,4 @@
1
- 次のような文字列型のプライマリーキーを持つテーブルがあります。
1
+ MySQL5.7のInnoDBを使用しており、その中で次のような文字列型のプライマリーキーを持つテーブルがあります。
2
2
 
3
3
  ```
4
4
  CREATE TABLE `item` (