我有以下表结构:
状态:TINYINT
锁定方式:整数
日期:日期时间
页面:TINYINT
my_id: 比金特格
主键是(页面,my_id)
并具有以下索引:
INDEX idx_col_lock_status (locked_by, status),
索引 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
我想更新所有具有状态值的行(设置状态 = 0,locked_by = )!= 2 或
他们有状态值 = 2 *但* 有
具有相同my_id且状态为 != 2的另一行
上述更新后,上述行应变为。
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。
谢谢