Mysql数据库5.6.11版本之自增字段失效问题排查

    此篇博主分享一次mysql问题排查,在mysql本版本下,运行一段时间,服务器某些业务表出现自增字段自行归0致使服务器设计该表的业务没法使用的问题。我的下来查阅网上众多资料,都没有找到出现该问题的缘由。因为博主并非DBA,同时也还没达到Mysql深度精通的境界,全部下面仅博主我的分析观点。mysql

出现上诉问题的缘由可能由一下几种:sql

    1.业务、开发或数据库管理人员其中的某人在查看表字段时候,不当心点到了取消自增主键的取消按钮;因为是生产环境,所以比较紧张,想要关掉该表的编辑页;关闭时,数据库链接工具(如navicat)提示保存、不保存、取消,我的感受上面三个按钮意思很是的不清晰,所以可能出现误点保存按钮,此时就会将自增字段的值更改成0,从而致使后续业务全部新增操做均没法使用。数据库

    2.Mysql5.6.11这个版本有bug,或在某些特定访问状况下,该值出现异常超出最大值后自动归0。服务器

    3.业务程序使用的数据库访问工具备个bug、或者和Mysql该版本在特定状况下会发生冲突,致使了上诉结果。工具

以上讲完了自增字段归0可能出现的缘由,下面贴出出现后程序的具体表现:   设计

解决办法:3d

1.首先使用数据库链接工具执行下面命令查阅当前该表的自增字段大小,而后和对比表中自增字段最大的值,若是该值大于后者,则业务会出现异常code

SELECT auto_increment FROM information_schema.tables where table_schema="xxx_wcc_test" and table_name="wcc_xxx_buy";

    

2.修改该自增值为当前表的最大值+1orm

alter table `wcc_xxxx_buy` auto_increment=38;

此时业务问题已解决,最后说下上诉过程还用到了一个命令来查看Mysql版本,顺便说下该字段bigint (20) 非nullblog

最后的最后,博主才疏识浅,如过哪位仁兄知道致使该问题的具体缘由,请在评论区告知博主,博主感激涕零。

相关文章
相关标签/搜索