Create Table: CREATE TABLE `t1` (
`id` int(11) NOT NULL,
`b` int(11) DEFAULT NULL,
`c` int(11) DEFAULT NULL,
`d` int(11) DEFAULT NULL,
PRIMARY KEY (`id`),
UNIQUE KEY `b` (`b`,`c`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8
mysql> insert into t1 select 1,1,2,3;
mysql> insert into t1 select 5,2,2,3;
mysql> select * from t1;
+----+------+------+------+
| id | b | c | d |
+----+------+------+------+
| 1 | 1 | 2 | 3 |
| 5 | 2 | 2 | 3 |
+----+------+------+------+
session A:begin; select * from t1 where b=1 and c=2 for update;
session B:begin; select * from t1 where b=1 and c=2 for update;
sessionA :insert into t1 select 3,1,2,3;