Multiple primary key defined解决办法

网络整理 - 06-27

 Multiple primary key defined 报错的解决办法。

定义了多个主键。mysql中是不允许多主键的。但是,我们的主键确实可以有多个字段。

比如使用以下的语句,先删除老的主键,在新增两个字段的主键:

ALTER TABLE `tbname` DROP PRIMARY KEY, ADD PRIMARY KEY( `id`, `username`);

删除老的主键的时候可能会报错,比如老主键是自增列,删除失败。请根据先取消其自增属性,即可删除主键了。删除老主键以后,再新增多个字段的主键即可。

不过,请弄清楚多字段主键的功能再使用,多字段主键,即联合主键,并不是说所有的字段都不能相同,而是可以相同,只是其组合结果不能相同。请勿理解错误了。

如果想所有字段都不同,请增加UNIQUE属性,而不是联合主键。