1、UPDATE nowait 应用以下场景:查询某条数据,并对其开启数据库事务。如果查询的当前数据没有加锁,则正确返回结果,并对当前数据加锁,如果查询的当前数据已在事务中,已加锁。但返回异常信息:提示数据已加锁。SQL语句:
Sql代码:
复制代码代码如下:
SELECT *
FROM hold_mc_site_product_pic pic
WHERE pic.id = 730127 FOR UPDATE nowait
2、应用在多线程并发的情况下。先查询出要处理的数据,并加入数据库级的锁,处理完后,写入数据库。提交事务。可以有效控制并发情况下数据的一致性。