次のテーブル構造があります。
ステータス: TINYINT
locked_by: 整数
日付: DATETIME
ページ: TINYINT
my_id: BIGINTEGER
PRIMARY KEY IS (ページ、my_id)
次のインデックスがあります。
INDEX idx_col_lock_status (locked_by、ステータス)、
INDEX idx_my_id (my_id)
ある時点で、次の行があります。
status, locked_by, date, page, my_id
2 243 NULL 0 1
0 0 NULL 1 1
1 244 NULL 2 1
2 255 NULL 0 2
2 2556 NULL 1 2
2 255 NULL 2 2
status値が! = 2 または
彼らはステータス値を持っています = 2 *しかし* あります
ステータスが != 2の同じmy_id を持つ別の行
上記の更新後、上記の行は次のようになります。
status, locked_by, date, page, my_id
0 0 NULL 0 1 --note this line
0 0 NULL 1 1
0 0 NULL 2 1 --and this line
2 255 NULL 0 2
2 2556 NULL 1 2
2 255 NULL 2 2
Mysql バージョン 5.1.63 を使用しています。
ありがとう