Position actuelle: Accueil> Catégories de fonctions> mysqli::savepoint

mysqli::savepoint

(mysqli_savepoint) Définissez le point de sauvegarde de la transaction nommé
Nom:mysqli::savepoint
Catégorie:Mysqli
Langage de programmation:php
Description en une ligne:Méthodes pour créer un point de sauvegarde dans une transaction

MySQLI :: Savepoint () est une méthode utilisée pour créer un SavePoint dans une transaction. Un point de sauvegarde est une balise dans une transaction qui peut être retournée à l'état où la balise est située à tout moment pendant la transaction.

Utilisation: mysqli :: SavePoint (String $ Savepoint_name): bool

paramètre:

  • $ Savepoint_name: le nom du sauvegarde doit être une chaîne.

Valeur de retour:

  • Renvoie vrai sur le succès et FAUX en échec.

Exemple:

 // 创建数据库连接$mysqli = new mysqli("localhost", "username", "password", "database"); // 检查连接是否成功if ($mysqli->connect_errno) { echo "连接数据库失败: " . $mysqli->connect_error; exit(); } // 开始事务$mysqli->begin_transaction(); // 执行一些数据库操作$mysqli->query("INSERT INTO users (name, email) VALUES ('John Doe', 'john@example.com')"); $mysqli->query("UPDATE accounts SET balance = balance - 100 WHERE user_id = 1"); // 创建保存点if ($mysqli->savepoint("my_savepoint")) { echo "保存点创建成功!"; // 执行更多数据库操作$mysqli->query("DELETE FROM orders WHERE user_id = 1"); $mysqli->query("UPDATE accounts SET balance = balance + 100 WHERE user_id = 2"); // 回滚到保存点if ($mysqli->rollback_to("my_savepoint")) { echo "回滚成功!"; } else { echo "回滚失败!"; } } else { echo "保存点创建失败!"; } // 提交事务$mysqli->commit(); // 关闭数据库连接$mysqli->close();

Dans l'exemple ci-dessus, nous créons d'abord une connexion de base de données, puis commençons une transaction. Dans une transaction, nous avons effectué des opérations de base de données et créé un point de sauvegarde à l'aide savepoint() . Ensuite, nous avons continué à effectuer d'autres opérations de base de données et avons ramené la transaction à l'état où le point de sauvegarde était situé à l'aide de rollback_to() . Enfin, nous avons engagé la transaction et clôturé la connexion de la base de données.

Notez que savepoint() et rollback_to() ne sont disponibles que dans les moteurs de stockage compatibles avec les transactions, tels que InNODB. Ces méthodes échoueront si vous utilisez un moteur de stockage qui ne prend pas en charge les transactions.

Fonctions similaires
Articles populaires