Я использую этот код для вставки данных в 2 таблицы,
try {
array(PDO::ATTR_PERSISTENT => true);
$db->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION);
$db->beginTransaction();
// 1st insert
$db->exec("insert into users (id, username, password,permission) values (18, 'raman', 2002,3)");
//2nd insert
$db->exec("insert into table_11 (id,user_id1,amount) values (14, '130', '11300')");
$db->commit();
} catch (Exception $e) {
$db->rollBack();
echo "Failed : " . $e->getMessage();
}
Этот код работает нормально, однако, когда я проверяю транзакцию путем выполнения 2-й ошибки вставки, поскольку я изменил имя таблицы на неправильное имя таблицы, я обнаружил, что 1-я вставка все еще работает и может добавлять новые данные, даже если 2-я вставка не работает,
Мой вопрос, почему 1-я вставка сработала?
Я использую MySQL.