介绍
这篇文章将为大家详细讲解有关mysql删除主键的方法,小编觉得挺实用的,因此分享给大家做个参考,希望大家阅读完这篇文章后可以有所收获。
首先我们来看看删除主键的语法:
ALTER TABLE TABLE_NAME删除主键;
在mysql中删除主键要考虑两种情况:
1,主键列不带任何约束,可以直接删除主键的情况
例:
mysql>创建表test1_3 ( →id int not null主键, →名字char (10) →); 查询好,0行影响(0.01秒)
我们可以直接使用放弃来删除主键
mysql>alter table test1_3删除主键; 查询好,0行影响(0.02秒) 记录:0副本:0警告:0
2,如果是自增(AUTO_INCREMENT属性)的主键
例:
mysql>创建表test1_2 ( →id int not null auto_increment, →名字char (10)→主键(id) →); 查询好,0行影响(0.00秒) mysql>desc test1_2; + - - - - - - - - - - - - - - - - - - + - - - - - - - - - - - - + - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + | |字段类型零额外默认关键| | | | | + - - - - - - - - - - - - - - - - - - + - - - - - - - - - - - - + - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + | | int id (11) | | PRI零| | auto_increment | | |字符名称(10)|是| |零| | + - - - - - - - - - - - - - - - - - - + - - - - - - - - - - - - + - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + 2行集(0.00秒)
如果直接删除,会报错
mysql>alter table test1_2删除主键;
输出:
错误1075(42000):不正确的表定义;可以有> mysql>alter table test1_2修改id int; 查询好,0行影响(0.03秒) 记录:0副本:0警告:0 mysql>alter table test1_2删除主键; 查询好,0行影响(0.02秒) 记录:0副本:0警告:0