1. 批量插入(有数据则更新)
insert into group_member(group_id, user_id, member_type, speakblock_endtime) values(5000, 1000, 1, 12), (5000, 1006, 1, 0) ON DUPLICATE KEY UPDATE member_type=VALUES(member_type),speakblock_endtime=VALUES(speakblock_endtime);
部分数据存在,部分数据存在的时候,也会成功
2.多表操作,悲观锁
set autocommit=0; --把自动提交关闭, 默认情况下autocommit的值为1,也就是自动提交的
show VARIABLES like 'autocommit';
当前session禁用自动提交事物,自此句执行以后,每个SQL语句或者语句块所在的事务都需要显示"commit"才能提交事务。
MySQL的SELECT ...for update
3.悲观锁和乐观锁
https://www.cnblogs.com/cyhbyw/p/8869855.html