文章内容

2023/5/4 14:53:43,作 者: 黄兵

Unexpected update count received (Actual: 2, Expected: 1). All changes will be rolled back.

在删除 MySQL 多对多重复数据的时候,出现了如下错误:

Unexpected update count received (Actual: 2, Expected: 1). All changes will be rolled back.

出现问题的原因:

由于使用的是 PyCharm 数据库管理的删除操作,在删除的时候,删除了一行,但是有多个重复数据,所以会出现这个问题。

因为执行 "-" (IDE 中删除数据的按钮)和语句对应的行数都是一行,而表中却有多条数据符合条件,因此数据库不知道该怎样执行了,因此不能执行而报错。

解决方案:

在使用 PyCharm 删除数据的时候,删除语句是:

DELETE FROM plant_in_feature WHERE feature_id=8 AND plant_id=1;

我们设置一个查询条件来删除,例如下面这样:

DELETE FROM plant_in_feature WHERE feature_id=8;

这样删除就不会存在问题。


参考资料:

1、Unexpected update count received. Changes will be rolled back. SQL: DELETE FROM `myproject`.`role_module` WHERE `role_id` = ? AND `module_id` = ?


其它相关推荐:

1、MySQL 8.0 新增的关键字(Keywords)和保留字(Reserved Words)

2、MySQL 计算时间

3、Lock wait timeout exceeded; try restarting transaction

4、mysql limit 和 offset 查询示例

5、innodb_rollback_on_timeout 理解


黄兵个人博客原创。

转载请注明出处:黄兵个人博客 - Unexpected update count received (Actual: 2, Expected: 1). All changes will be rolled back.

分享到:

发表评论

评论列表