gpt4 book ai didi

C# MySQL 事务不工作

转载 作者:行者123 更新时间:2023-11-29 12:08:05 27 4
gpt4 key购买 nike

我想了解交易是如何运作的,但我认为我遗漏了一些东西。我想开始在循环中添加一些行,当 i == 5 时我想回滚事务。

主要问题是它不回滚。

MySqlConnection conn2 = new MySqlConnection("server=127.0.0.1;uid=root;pwd=;database=dbtest;");
conn2.Open();
MySqlCommand command2 = conn2.CreateCommand();
MySqlTransaction trans;
trans = conn2.BeginTransaction();
command2.Transaction = trans;

try
{
for (int i = 0; i < 10; i++)
{
command2.CommandText = "INSERT INTO test (col1, col2, col3) VALUES ('1','1','1')";
command2.ExecuteNonQuery();

if (i == 5)
{
throw new Exception();
}
}
}
catch (Exception e)
{
MessageBox.Show(e.ToString());
trans.Rollback();
}

我尝试在各个地方添加 SET autocommit = 0trans.Commit() 但仍然不起作用。

然后我决定尝试一下MySQL数据库:

START TRANSACTION;
INSERT INTO test (col1, col2, col3) VALUES ('1','1','1')
//also with COMMIT here
ROLLBACK;

这也不起作用。我尝试阅读各种教程,我检查了官方 MySQL 页面的事务,但仍然没有进展。

最佳答案

也许您使用的MyISAM引擎不支持事务。如果是这种情况你可以尝试将其更改为 InnoDB。

关于C# MySQL 事务不工作,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31133093/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com