MySQL Error number: MY-011945; Symbol: ER_IB_MSG_120; SQLSTATE: HY000 报错 故障修复 远程处理
文档解释
Error number: MY-011945; Symbol: ER_IB_MSG_120; SQLSTATE: HY000
Message: %s
错误说明
MY-011945; ER_IB_MSG_120; HY000报错实际上是MySQL报出的一种数据库异常,称之为column use对象错误。该错误通常在尝试对MySQL InnoDB表中进行DML操作时发生,即当未指定所有列时,尝试使用某个列。这是因为表中的唯一列没有更新。
常见案例
常见的表现为当你在使用一些DML语句,如UPDATE / INSERT/DELETE,在不指定表中所有列的情况下尝试使用一些列,就会报出此报错。具体来说,此报错会在以下场景产生:
1、在不更新文章中任何唯一列的情况下尝试更新其他列
2、在不插入任何列的情况下尝试插入唯一列
3、在不更新文章中任何唯一列的情况下尝试删除列
解决方法
在使用DML语句操作MySQL InnoDB表但未指定表中所有列时,为了避免报出MY-011945; ER_IB_MSG_120; HY000报错,请确保所有唯一列都被指定。另外,应当在表设计中尽量避免唯一列的使用,以减少出现相关报错的几率。