mysqli::savepoint
(mysqli_savepoint)设置命名的事务保存点
PHP 5.5.0 及以上版本
mysqli::savepoint 用于在当前数据库事务中设置一个保存点(Savepoint)。保存点允许在事务内部设置回滚点,可以选择性地回滚到该保存点,而不是整个事务回滚,从而实现更细粒度的事务控制。
public bool mysqli::savepoint(string $name)
如果成功,返回 TRUE;失败返回 FALSE。
$mysqli = new mysqli("localhost", "user", "password", "database"); <p>$mysqli->begin_transaction();</p> <p>if ($mysqli->savepoint("SP1")) {<br> echo "保存点 SP1 设置成功。";<br> } else {<br> echo "设置保存点失败。";<br> }</p> <p>$mysqli->query("INSERT INTO test_table (name) VALUES ('value1')");</p> <p>// 可以根据业务逻辑选择回滚到保存点SP1或提交事务<br> // $mysqli->rollback_to_savepoint("SP1");<br> // $mysqli->commit();<br>
上述代码演示了如何开启事务并创建一个名为“SP1”的保存点。首先调用 begin_transaction() 开启事务,然后使用 savepoint("SP1") 设置保存点。之后执行插入操作。根据实际业务需求,用户可以选择回滚到保存点或者提交整个事务。