当前位置:首页 > MySQL教程 > 正文内容

mysql怎样删除主键?【MySQL教程】,mysql,主键

搜教程4年前 (2019-12-01)MySQL教程174
当一个表中设置了主键以后,假如想要删除主键了要怎么做?下面本篇文章就给人人引见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怎样删除主键?的细致内容,更多请关注ki4网别的相干文章!

扫描二维码推送至手机访问。

版权声明:本文由搜教程网发布,如需转载请注明出处。

本文链接:https://www.sojiaocheng.cn/15966.html

标签: mysql主键
分享给朋友:

“mysql怎样删除主键?【MySQL教程】,mysql,主键” 的相关文章

怎样运用delphi将Clientdataset的Delta保存到数据库中【MySQL教程】,Clientdataset,delphi,Delta

[delphi] view plain copy //ATableName-表名, AKeyField-主键,多个主键用;离隔,如 ;pid;times; from:unit HlsImplBase; [delphi] view plain copy function THlsImplB...

MySQL完成同时查询更新统一张表的实例剖析【MySQL教程】,MySQL,更新,查询

MySQL完成同时查询更新统一张表的实例剖析【MySQL教程】,MySQL,更新,查询

这篇文章重要引见了MySQL数据库同时查询更新统一张表的要领,须要的朋侪能够参考下 在寻常的项目中,经常会遇到如许的题目:我须要在一张标中同时更新和查询出来的数据。比方:有以下图一张表数据,如今须要更新操纵为:把status=1的name值更新为id=2的name值 通常情况下我们会想到...

MySQL挑选适宜的引擎及引擎转换的详解【MySQL教程】,MySQL,引擎,选择

我们怎样挑选适宜的引擎?这里简朴归结一句话:“ 除非须要用到某些InnoDB不具备的特征,而且没有其他要领能够替换,不然都应该优先挑选InnoDB引擎。” 除非万不得已,不然不发起夹杂运用多种存储引擎,不然能够带来一系列庞杂的题目以及一些潜伏的BUG。 运用差别引擎斟酌的几大要素:...

Centos7怎样应用yum装置Mysql5.7.19的具体方法【MySQL教程】,Mysql5.7.19,Centos7,安装

Centos7怎样应用yum装置Mysql5.7.19的具体方法【MySQL教程】,Mysql5.7.19,Centos7,安装

本篇文章重要引见了Centos7运用yum装置Mysql5.7.19的细致步骤,小编以为挺不错的,如今分享给人人,也给人人做个参考。一同追随小编过来看看吧 Centos7的yum源中默许是没有mysql,由于如今已用mariaDB替代mysql了。 起首我们下载mysql的repo源,我们能...

MySql的索引操纵【MySQL教程】,MySql,操作,索引

  关于MySql索引的基础知识我就不在这里写了,我不太想当信息的搬运工。   技能分享:Workbench 作为一款专为MySQL设想的ER/数据库建模东西。除了治理数据库外,实在也是一款Sql语句生成利器。合理运用,将带来事半功倍的结果。固然,条件是我们对基础知识的相识。   我先来整顿...

数据库纪录删除体式格局 有哪些【MySQL教程】,数据库,哪些,方式

数据库纪录删除体式格局 有哪些【MySQL教程】,数据库,哪些,方式

弁言 删除数据库纪录是一个异常罕见的需求,当数据落空代价时,我们便会删除它,然则假如操纵不当,每每就会把一些有代价的数据误删掉,形成重要数据的丧失,合理采纳删除体式格局才更好地运用数据资本,下面引见几种经常运用的删除体式格局。 删除体式格局 物理删除 物理删除就是直接从数据库中删除一...