mysqli_rollback ($ con) не работает

<?php $serverName = "localhost"; $username = "root"; $password = ""; $Database = "database"; $con = mysqli_connect($serverName, $username, $password, $Database); if (mysqli_connect_errno()) { echo "PLEASE IMPORT THE DATABASE"; } try { mysqli_autocommit($con,FALSE); for ($i=1; $i < 100; $i++) { $Query = "INSERT INTO `test`(`id`, `name`, `version`) VALUES ('".$i."','name".$i."','version".$i."')"; $Result = mysqli_query($con,$Query); if($Result==false){ throw new Exception(" Error Found at index " . $i); } } echo "calling commit"; mysqli_commit($con); } catch(Exception $e) { echo "calling rollback"; mysqli_rollback($con); echo 'Message: ' .$e->getMessage(); } 

Я создал тестовый файл для тестирования rollback (). В id тестовой таблицы в качестве первичного ключа.

В первый раз я выполнил этот файл, поэтому вставлено 99 записей (id от 1 до 99).

 result : calling commit 

Теперь я удалил значение pk 1,2,3 из тестовой таблицы. Теперь таблица имеет 96 записей (id от 4 до 99), если я запускаю старение файла

 result : calling rollbackMessage: Error Found at index 4 

Но значение pk 1,2,3 хранится в таблице, даже я вызываю rollback (). Теперь таблица имеет 99 записей (id от 1 до 99) Почему это происходит? Пожалуйста, помогите мне.