Mysqli回滚无法正常工作

3

我有一个MySQL数据库,正在使用mysqli

由于某些原因,我无法正确地使用事务。如果我调用$mysqli->rollback(),它不会回滚。

示例代码:

$mysqli->autocommit(false);

$sql = "INSERT INTO myTable (name , color) VALUES ('Dan' , 'red')";

$mysqli->query($sql);

$mysqli->rollback();

结果是另一行被添加到了myTable表中。有人能想到原因吗?

2
使用 MyISAM 表格而不是 InnoDB? - Francis Avila
1个回答

9

你正在使用MyISAM还是InnoDB?因为据我所知,它只适用于InnoDB。


我该如何检查?这是一个本地服务器,我使用XAMPP。 - dors
1
显示表状态,其中 Name = 'your_table_name',并检查列引擎。 - derki
哦...我认为它是MyISAM。那是什么意思?我应该以某种方式将其更改为InnoDB吗? - dors
修改表 your_table_name 的引擎为 InnoDB。 - derki
每个引擎都有其优缺点,因此取决于您的需求。 - derki
显示剩余2条评论

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接