我是 InnoDB 事务的新手。我正在学习,但我对此有疑问。
<?php
include_once("../../../../../wp-config.php");
global $wpdb;
$cats_table = $wpdb->prefix . "jb_menu_groups";
$relation = $wpdb->prefix . "jb_relations";
$mysqli = new mysqli($wpdb->dbhost, $wpdb->dbuser, $wpdb->dbpassword, $wpdb->dbname);
if ($mysqli -> connect_errno) {
echo "Failed to connect to MySQL: " . $mysqli -> connect_error;
exit();
}
// Turn autocommit off
$mysqli -> autocommit(FALSE);
$mysqli -> query("DELETE FROM $cats_table WHERE id=6");
$mysqli -> query("DELETE FROM $relation WHERE groupid=3");
// Commit transaction
if (!$mysqli -> commit()) {
echo "Commit transaction failed";
exit();
}
$mysqli -> rollback();
$mysqli -> close();
?>
如果我创建一个错误的查询来测试提交和回滚,则代码会成功运行另一个查询。
如何在一个事务中执行多个查询,如果一个查询有错误,请回滚并取消事务?
慕妹3146593