mysql 更新数据报错

在执行数据库更新操作时
UPDATE table_name SET status = '5' WHERE
( id = 12847 )
报错。
错误信息为:

1172 - Result consisted of more than one row

但是 将status字段更新为其他值也不报错。

如:UPDATE table_name SET status = '4' WHERE
( id = 12847 )
又不报错。

更新其他记录的stauts='5'也不会报错。
单单id=12847这条记录会报错。

这是为什么呢?求大神解释。

阅读 4.5k
2 个回答

这个sql语句应该报不出来的。
会不会有触发器,触发了其他的sql,报了这个错。

这种神奇的错误的确少见,你用的mysql版本是多少?
确定你的id是主键, 唯一的吗?
你是否定义了触发器之类的东西?

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题