Я вставляю значения из PowerShell
в MySQL
таблицу. У меня есть 2 Insert
операторов (insertQuery1
, insertQuery2
) в транзакции.
Есть COMMIT
после insertQuery1
, поэтому изменения в query_1 фиксируются, но нет COMMIT
после insertQuery2
, но изменения в query_2 также фиксируются. Может ли кто-нибудь сообщить мне, почему изменения в query_2 также фиксируются, даже если после него нет инструкции COMMIT
.
Если я не использую COMMIT
, оба запроса не фиксируются.
$oConnection = New-Object MySql.Data.MySqlClient.MySqlConnection($sConnectionString)
try
{
$oConnection.Open()
$oMYSQLCommand = New-Object MySql.Data.MySqlClient.MySqlCommand
$oMYSQLTransaction = $oConnection.BeginTransaction();
$oMYSQLCommand.Connection=$oConnection
$oMYSQLCommand.Transaction = $oMYSQLTransaction;
$insertQuery1 ='INSERT into `temp_schema`.`temp_table` (`temp_col`) VALUES('+'"'+$temp_val1+'"' +')'
$oMYSQLCommand.CommandText=$insertQuery1
$iRowsAffected=$oMYSQLCommand.ExecuteNonQuery()
$oMYSQLTransaction.Commit();
Start-Sleep -Seconds 10
$insertQuery2 ='INSERT into `temp_schema`.`temp_table` (`temp_col`) VALUES('+'"'+$temp_val2+'"' +')'
$oMYSQLCommand.CommandText=$insertQuery2
$iRowsAffected=$oMYSQLCommand.ExecuteNonQuery()
}
catch{
write-warning ("Error: "+$Error[0].ToString())
}
finally{
$oMySqlCommand.Connection.Close()
}