最近写mysql遇到了报错1075,意思就是你这个表中可能有多个属性设置了自动递增,但是mysql只允许只有一个属性即主键可以自动递增。但是我的情况是这样的:表a的主键id是自动递增的,表b的主键type_id也是自动递增的,但是表a引用了表b的type_id作为外键,那么这就意味着表a中的type_id因为做外键所以也要自动递增,那么表a就有两个自动递增的属性了,所以就报错1075
![](https://i-blog.csdnimg.cn/blog_migrate/8d18528f33deab2dae774720157b3555.png)
那么我是怎么解决这个问题的呢?在外键配置中把更新的cascade改为restrict,这样两个表中的type-id在更新时可以不连锁在一起,这个时候把表a的type_id的自动递增属性取消勾选保存,就不报错啦!
![](https://i-blog.csdnimg.cn/blog_migrate/cd54fd132b2c6ddead6836f53feaaaf2.png)
总之,一个表只能一个属性自动递增且它一定要是主键,这一原则是不能违背的!