记录:MySQL报错1075 - Incorrect table defintion;there can be only...解决方案

Posted bug菌¹

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了记录:MySQL报错1075 - Incorrect table defintion;there can be only...解决方案相关的知识,希望对你有一定的参考价值。

👨‍🎓作者:bug菌

✏️博客:CSDN掘金

💌公众号:猿圈奇妙屋

🚫特别声明:原创不易,转载请附上原文出处链接和本文声明,谢谢配合。

🙏版权声明:文章里可能部分文字或者图片来源于互联网或者百度百科,如有侵权请联系bug菌处理。

一、前言🔥

环境:centos7.6 + mysql 5.6 + navicat11

二、排错🔥

        我在使用 navicat 进行mysql数据库表结构编辑后点击保存时,直接弹窗提示报错:

1075-Incorrect table definition;there can be only one auto column and it must be defined as a key

报错完整截图:

中译过来的意思就是:

表定义不正确;只能有一个自动列,并且必须将其定义为主键 。

        这报错,明显一看就是你建表中含有字段设置了自增但它不是主键。 

三、解决方案🔥

        所以很好解决啊,顺着自增这点出发,像时间、字符串等类型都是不能设置自增项的,直接检查你表中字段类型为数字类型的;重点排查 int / bigint 这两类型,毕竟最为常用。

        找到该字段,然后去掉自动递增即可。我是误操作将status字段设置了[ 自动递增 ],才导致无法保存且报mysql1075异常。

所以,在建表的时候我给大家总结了一下两点,务必要记住:

  1. 如果设置了一个字段为自增,那么这个字段也必须要设置为主键。
  2. 如果需要设置多个主键,其中只能有一个是自增的。

        好啦,以上就是这期的全部内容啦,如果对你有所帮助,还请不要忘记给bug菌[三连支持]哟。如果想获得更多的学习资源或者想和更多的技术爱好者一起交流,可以关注我的公众号『猿圈奇妙屋』,后台回复关键词领取学习资料、大厂面经、面试模板等海量资源,就等你来拿。

四、文末🔥

        如果你还想要学习更多,小伙伴们大可关注bug菌专门为你们创建的专栏《bug调优》,都是我一手打下的江山,持续更新中,希望能帮助到更多小伙伴们。

       我是bug菌,一名想走👣出大山改变命运的程序猿。接下来的路还很长,都等待着我们去突破、去挑战。来吧,小伙伴们,我们一起加油!未来皆可期,fighting!

最后送大家两句话,与诸君共勉!


☘️做你想做的人,没有时间限制,只要愿意,什么时候都可以start,

🍀你能从现在开始改变,也可以一成不变,这件事,没有规矩可言,你可以活出最精彩的自己。


​​​

💌如果文章对您有所帮助,就请留下您的吧!(#^.^#);

💝如果喜欢bug菌分享的文章,就请给bug菌点个关注吧!(๑′ᴗ‵๑)づ╭❤~;

💗如果对文章有任何疑问,还请文末留言或者加群吧【QQ交流群:708072830】;

💞鉴于个人经验有限,所有观点及技术研点,如有异议,请直接回复参与讨论(请勿发表攻击言论,谢谢);

💕版权声明:原创不易,转载请附上原文出处链接和本文声明,版权所有,盗版必究!!!谢谢。

以上是关于记录:MySQL报错1075 - Incorrect table defintion;there can be only...解决方案的主要内容,如果未能解决你的问题,请参考以下文章

pymysql.err.InternalError: 1075

P1075 质因数分解

A1075.PAT Judge

Phpmyadmin #1075 - 表定义不正确;只能有一个自动列,并且必须将其定义为键

ACM选修hust 1075 组合+数学+期望值

MySQL 报错记录