我正在使用MySQL的AUTO_INCREMENT字段和InnoDB来支持事务。我注意到当我回滚事务时,AUTO_INCREMENT字段没有回滚? 但是当我不调用RollBack时,id不会改变。
try
{
//My Code
}
catch (MySqlException ex)
{
//deadlock exception in mysql
if (ex.Number == 1213)
{
//I don't use RollBack and the id dosen't change
MessageBox.Show("Try again", "Warning");
}
else
{
msqlTr.Rollback();
txtError.Text = "Erreur : " + ex.Message;
Log.LogError.setError(ex);
MessageBox.Show("Erreur : " + ex.Message, "Erreur", MessageBoxButtons.OK, MessageBoxIcon.Error);
}
}
catch (Exception ex)
{
msqlTr.Rollback();
txtError.Text = "Erreur : " + ex.Message;
Log.LogError.setError(ex);
MessageBox.Show("Erreur : " + ex.Message, "Erreur", MessageBoxButtons.OK, MessageBoxIcon.Error);
}
如果此代码更正,我的意思是当我不调用rollback时?