美文网首页
mysql多个主键,如何删除主键

mysql多个主键,如何删除主键

作者: willeny | 来源:发表于2018-05-17 14:01 被阅读0次

最近在添加一个表的时候,不小心将表字段设为了两个主键,表的创建语句如下:

DROP TABLE IF EXISTS `test`;

CREATE TABLE `test` (

  `id` int(11) NOT NULL AUTO_INCREMENT COMMENT '主键',

  `openid` varchar(50) DEFAULT '' COMMENT 'openid',

  `status` tinyint(1) DEFAULT '0' COMMENT '状态:0为未审核,-1为审核不通过,1为审核通过',

  `isdeleted` tinyint(1) DEFAULT '0' COMMENT '1为删除',

  `createtime` int(11) DEFAULT '0' COMMENT '建立时间',

  `edittime` int(11) DEFAULT '0' COMMENT '修改时间',

  PRIMARY KEY (`id`,`status`)

) ENGINE=MyISAM AUTO_INCREMENT=1 DEFAULT CHARSET=utf8;

在用thinkphp插入数据库时返回的结果总是1,而非最新插入的表记录编号,后来查了创建语句才发现是多个主键导致的。

现在需要删除status这个的主键。步骤如下:

1.删除主键的话,需要先删除自增:alter table test modify id int(11);//这里直接先修改字段类型,这样会自动去掉自增的

2.删除自增后,删除所有主键:alter table test drop primary key;

3.添加需要增加的主键内容,并恢复id原来的自增,这里直接修改表字段的内容即可:

alter table test change id `id` int(11) NOT NULL AUTO_INCREMENT primary key COMMENT '主键';

希望能帮助到您。

相关文章

网友评论

      本文标题:mysql多个主键,如何删除主键

      本文链接:https://www.haomeiwen.com/subject/qdebdftx.html