当一个表中设置了主键之后,如果想要删除主键了要怎么做?下面本篇文章就给大家介绍MySQL删除主键的方法,希望对你们有所帮助。

首先我们来看看删除主键的语法:ALTER TABLE TABLE_NAME DROP PRIMARY KEY;

在MySQL中删除主键要考虑两种情况:

1、主键列不带任何约束,可以直接删除主键的情况

例:mysql> create table test1_3(

-> id int not null primary key,

-> name char(10)

-> );

Query OK, 0 rows affected (0.01 sec)

我们可以直接使用drop来删除主键mysql> alter table test1_3 drop primary key;

Query OK, 0 rows affected (0.02 sec)

Records: 0 Duplicates: 0 Warnings: 0

2、如果是自增(AUTO_INCREMENT属性)的主键

例:mysql> create table test1_2(

-> id int not null auto_increment,

-> name char(10),-> primary key(id)

-> );

Query OK, 0 rows affected (0.00 sec)

mysql> desc test1_2;

+-------+----------+------+-----+---------+----------------+

| Field | Type | Null | Key | Default | Extra |

+-------+----------+------+-----+---------+----------------+

| id | int(11) | NO | PRI | NULL | auto_increment |

| name | char(10) | YES | | NULL | |

+-------+----------+------+-----+---------+----------------+

2 rows in set (0.00 sec)

如果直接删除,会报错mysql> alter table test1_2 drop primary key;

输出:ERROR 1075 (42000): Incorrect table definition; there can be only one auto column and it must be defined as a key

#这说明此列是自动增长列,无法直接删除

列的属性还带有AUTO_INCREMENT,那么要先将这个列的自动增长属性去掉,才可以删除主键。mysql> alter table test1_2 modify id int;

Query OK, 0 rows affected (0.03 sec)

Records: 0 Duplicates: 0 Warnings: 0

mysql> alter table test1_2 drop primary key;

Query OK, 0 rows affected (0.02 sec)

Records: 0 Duplicates: 0 Warnings: 0

mysql取消主键_mysql如何删除主键?相关推荐

  1. mysql删除主键_mysql如何删除主键?

    当一个表中设置了主键之后,如果想要删除主键了要怎么做?下面本篇文章就给大家介绍MySQL删除主键的方法,希望对你们有所帮助. 首先我们来看看删除主键的语法:ALTER TABLE TABLE_NAME ...

  2. mysql 联合主键_Mysql 创建联合主键

    Mysql 创建联合主键 2008年01月11日 星期五 下午 5:21 使用primary key (fieldlist) 比如: create table mytable ( aa int, bb ...

  3. MySQL约束——添加主键约束(联合主键)、删除主键约束

    目录 主键约束 添加单列主键 添加多列主键(联合主键) 修改表结构添加主键 删除主键约束 文末资源推荐 每文一语 概念: 约束英文:constraint 约束实际上就是表中数据的限制条件 作用: 表在 ...

  4. mysql 主键长度_MySQL 数据库,主键为何不宜太长长长长长长长长?

    回答星球水友提问:沈老师,我听网上说,MySQL数据表,在数据量比较大的情况下,主键不宜过长,是不是这样呢?这又是为什么呢? 这个问题嘛,不能一概而论: (1)如果是InnoDB存储引擎,主键不宜过长 ...

  5. mysql alter table drop primary key_删除主键: Alter table tabname drop primary key(col)

    下列语句部分是Mssql语句,不可以在access中使用.|4J,Y,FzYS*q A0x051Testing软件测试网)c#QS"?f{ SQL分类:d2HM[]$rw0DDL-数据定义语 ...

  6. linux mysql主主复制_MySQL主从复制与主主复制

    1.简介 MySQL作为世界上使用最为广泛的数据库之一,免费是其原因之一.但不可忽略的是它本身的功能的确很强大.随着技术的发展,在实际的生产环境中,由单台MySQL数据库服务器不能满足实际的需求.此时 ...

  7. linux中mysql主主搭建_mysql 主从配置 主主配置

    MySQL 主从( MySQL Replication) ,主要用于 MySQL 的时时备份或者读写分离.在配置之前先做一下准备工作,配置两台 mysql 服务器,如果你的机器不能同时跑两台 Linu ...

  8. 删除主键索引 oracle,删除主键无法删除对应索引问题 drop constraint

    --在删除一个表主键的时候索引没有删掉的问题,如果主键索引是和主键约束一起建的, 则删除约束的时候索引会自动删除掉,如果是先建了索引,然后建立主键,则删除约束的时候索引不会一起被删除掉 测试: --创 ...

  9. 如何删除oracle表的主键约束,oracle删除主键约束的问题m

    oracle"删除"主键约束的方法有两个 1:alter table 表名 drop primary key; 这个是把主键从表中去除,而不是真正的删除主键 例子: 创建表:cre ...

最新文章

  1. 12306 网站的非技术分析
  2. 计算机采购类增值税税率是多少,各个行业的税率是多少?
  3. 收藏 | 李飞飞等发布200多页综述,阐述大模型机遇与风险
  4. win7注册表后开启AHCI模式
  5. 勘验图系统(GDI+绘图)
  6. 凌阳单片机c语言延时函数,凌阳单片机C语言(网站整理).doc
  7. android仿微信图片编辑库,Android仿微信朋友圈添加图片
  8. 7-1 掉入陷阱的数字
  9. UML用例图中三种关系详解
  10. LTE中资源数量映射用到的PRB数量(TB,CQI,MCS,PRB)
  11. 真正准确的“两个日期相差多少天”函数
  12. 强烈推荐这些值得下载的神仙工具,每一个都让人惊喜
  13. DBoW、VLAD、NetVLAD、NeXtVLAD资料整理
  14. 防止网站被恶意镜像或反向代理方法
  15. 为什么linux图形引擎那么丑,为什么你的技术文章配图总是那么丑?那是你还没看过这篇教科书般的技术文章配图指南!...
  16. 面向嵌入式开发的C++中间件库
  17. usaco 虫洞 洛谷
  18. 即时聊天IM软件集合
  19. mgc token白皮书
  20. Cesium开启日照阴影

热门文章

  1. java的visitor模式_java设计模式(二十一)访问者模式(Visitor)
  2. python开发上位机软件-UR机器人通信--上位机通信(python)
  3. PP视频怎么设置文件的缓存路径
  4. 前端windows下常用的CMD 命令归纳
  5. yii mysql 缓存_yii2优化 - 开启 Schema 缓存
  6. python拼写_python 拼写检查器
  7. SpringBoot与日志配置
  8. spring boot配置dubbo注意事项
  9. .某学校的学生公寓有14栋楼,用A~N这14个大写字母的其中一个代表楼号,每栋楼的层数为6层,用1~6六个数字表示。每层楼有40个房间,编号为01~40。具体表示一个宿舍房间时,用1个字母加3位数字表
  10. phpexcel.php实际应用,PHP操作excel的一个例子(原创)-PHP教程,PHP应用