MySQL Error number: MY-012483; Symbol: ER_IB_MSG_658; SQLSTATE: HY000 报错 故障修复 远程处理
文档解释
Error number: MY-012483; Symbol: ER_IB_MSG_658; SQLSTATE: HY000
Message: %s
MySQL ER_IB_MSG_658 错误号:MY-012483,SQLSTATE: HY000
错误说明
ER_IB_MSG_658,是由MySQL数据库软件组件给出的,指出数据表的ID列不是有效的LONG(INT)字段。它的SQLSTATE状态码为HY000,属于不可恢复的错误,意味着当此错误出现时,MySQL会中断此请求的执行。
常见案例
ER_IB_MSG_658的最常见的出现场景,是当在执行MySQL语句时,定义的字段列类型与MySQL要求的不一致,尤其是数值类型的列,其类型一定要与MySQL所要求的标准类型,严格一致。
解决方法
首先,当我们收到ER_IB_MSG_658,最好立即停止执行代码,同时仔细检查一下SQL语句,是否存在这样的定义,即把int类型的字段定义成long类型(或者其他类型),如果存在,需要尽快修改回int类型,与MySQL要求的完全一致。
如果ER_IB_MSG_658错误不是由SQL语句引起,而是其他原因引起,例如,操作系统、MySQL组件等,针对这类情况,比较建议,停止MySQL服务,然后重新启动,以解决ER_IB_MSG_658错误。
在实际操作中,还可能会出现ER_IB_MSG_658与触发器有关,此时最好查看触发器是否定义了此类字段,以及字段的定义是否与MySQL要求的相符,在检查完成后,需要对代码再次修改,以确保MySQL正常运行。