mysqli::release_savepoint
(mysqli_release_savepoint)从当前事务的保存点集中删除指定的保存点
PHP 5 >= 5.5.0, PHP 7, PHP 8
mysqli::release_savepoint 用于在一个事务中释放之前设置的一个保存点(savepoint)。这意味着该保存点将不再可用于回滚操作。该函数在使用事务处理,尤其是在复杂的数据库操作中管理回滚点时非常有用。
public mysqli::release_savepoint(string $name): bool
成功时返回 true,失败时返回 false。
$mysqli = new mysqli("localhost", "user", "password", "database"); <p>if ($mysqli->connect_errno) {<br> die("连接失败: " . $mysqli->connect_error);<br> }</p> <p>$mysqli->begin_transaction();</p> <p>$mysqli->query("INSERT INTO users (name) VALUES ('Alice')");</p> <p>$mysqli->savepoint("sp1");</p> <p>$mysqli->query("INSERT INTO users (name) VALUES ('Bob')");</p> <p>// 决定不需要回滚到保存点了,释放它<br> if ($mysqli->release_savepoint("sp1")) {<br> echo "保存点 sp1 已释放。";<br> } else {<br> echo "释放保存点失败。";<br> }</p> <p>$mysqli->commit();<br>
该示例首先连接到 MySQL 数据库,开始一个事务,然后插入两条用户记录。在插入第一条记录后设置一个保存点 sp1。接着插入第二条记录。在确定不需要回滚到保存点时,使用 release_savepoint 来释放它。最后提交整个事务。