[英]MySQL ROLLBACK and use with PHP
START TRANSACTION;
SELECT @A:=SUM(salary) FROM table1 WHERE type=1 FOR UPDATE;
UPDATE table2 SET summary=@A WHERE type=1;
COMMIT;
我直接从MySQL官方文档中获取了此查询,我想知道某些方面(我为FOR UPDATE添加了自己)。 假设有另一个用户已经对该记录进行了锁定。 在这种情况下,更新将失败。 如果发生这种情况,我肯定希望向用户显示一个消息框,该消息框将提醒用户该记录已锁定。 我如何将这些信息重新输入PHP? 默认情况下,该查询是否也不会回滚,或者我是否特别需要添加ROLLBACK?
提前致谢!
您必须将自动提交变量的值重置为OFF / 0 / FALSE 。 尝试这个:
SET SESSION autocommit = 0;
START TRANSACTION;
SELECT @A:=SUM(salary) FROM table1 WHERE type=1 FOR UPDATE;
UPDATE table2 SET summary=@A WHERE type=1;
COMMIT;
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.