mysql中可以通过“ALTER TABLE 表名 ADD PRIMARY KEY(字段名);”语句在修改数据表时添加主键约束;当在修改表时要设置表中某个字段的主键约束时,要确保设置成主键约束的字段中值不能够有重复的,并且要保证是非空的。

主键(PRIMARY KEY)的完整称呼是“主键约束”,是 MySQL 中使用最为频繁的约束。一般情况下,为了便于 DBMS 更快的查找到表中的记录,都会在表中设置一个主键。

在创建表时设置主键约束

在 CREATE TABLE 语句中,通过 PRIMARY KEY 关键字来指定主键。

在定义字段的同时指定主键,语法格式如下: PRIMARY KEY [默认值]

示例

在 test_db 数据库中创建 tb_emp3 数据表,其主键为 id,SQL 语句和运行结果如下。mysql> CREATE TABLE tb_emp3

-> (

-> id INT(11) PRIMARY KEY,

-> name VARCHAR(25),

-> deptId INT(11),

-> salary FLOAT

-> );

Query OK, 0 rows affected (0.37 sec)

mysql> DESC tb_emp3;

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

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

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

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

| name | varchar(25) | YES | | NULL | |

| deptId | int(11) | YES | | NULL | |

| salary | float | YES | | NULL | |

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

4 rows in set (0.14 sec)

在修改表时添加主键约束

主键约束不仅可以在创建表的同时创建,也可以在修改表时添加。但是需要注意的是,设置成主键约束的字段中不允许有空值。

在修改数据表时添加主键约束的语法格式如下:ALTER TABLE ADD PRIMARY KEY();

通常情况下,当在修改表时要设置表中某个字段的主键约束时,要确保设置成主键约束的字段中值不能够有重复的,并且要保证是非空的。否则,无法设置主键约束。

示例

查看 tb_emp2 数据表的表结构,SQL 语句和运行结果如下所示。mysql> DESC tb_emp2;

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

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

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

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

| name | varchar(30) | YES | | NULL | |

| deptId | int(11) | YES | | NULL | |

| salary | float | YES | | NULL | |

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

4 rows in set (0.14 sec)

修改数据表 tb_emp2,将字段 id 设置为主键,SQL 语句和运行结果如下。mysql> ALTER TABLE tb_emp2

-> ADD PRIMARY KEY(id);

Query OK, 0 rows affected (0.94 sec)

Records: 0 Duplicates: 0 Warnings: 0

mysql> DESC tb_emp2;

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

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

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

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

| name | varchar(30) | YES | | NULL | |

| deptId | int(11) | YES | | NULL | |

| salary | float | YES | | NULL | |

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

4 rows in set (0.12 sec)

如何增加mysql主键约束_mysql修改表时怎么添加主键约束?相关推荐

  1. mysql数据库怎么添加主键约束_mysql修改表时怎么添加主键约束?

    mysql中可以通过"ALTER TABLE 表名 ADD PRIMARY KEY(字段名);"语句在修改数据表时添加主键约束:当在修改表时要设置表中某个字段的主键约束时,要确保设 ...

  2. mysql建表时主键_mysql建表时怎么设置主键?

    设置方法:在"CREATE TABLE"语句中,通过"PRIMARY KEY"关键字来指定主键,语法格式"字段名 数据类型 PRIMARY KEY [ ...

  3. mysql用命令修改主键名_MySQL的常用命令:添加外键,修改字段名称,增加字段 设置主键自增长等...

    Mysql命令添加外键 前提是有这么几个表   以mall_product 和 mall_category为例 ALTER TABLE mall_product ADD CONSTRAINT fore ...

  4. mysql用命令修改主键名_MySQL的常用命令:添加外键,修改字段名称,增加字段 设置主键自增长等 落楝花...

    Mysql命令添加外键 前提是有这么几个表   以mall_product 和 mall_category为例 ALTER TABLE mall_product ADD CONSTRAINT fore ...

  5. mysql 删除表时外键约束_MySQL删除表的时候忽略外键约束的简单实现

    删除表不是特别常用,特别是对于存在外键关联的表,删除更得小心.但是在开发过程中,发现Schema设计的有问题而且要删除现有的数据库中所有的表来重新创建也是常有的事情:另外在测试的时候,也有需要重新创建 ...

  6. mysql建表后添加约束_MYSQL建表完成之后添加约束

    1.主键约束 添加:alter table table_name add primary key (字段) 删除:alter table table_name drop primary key 2.非 ...

  7. mysql修改字段结构_MySQL修改表结构及其添加删除修改字段功能

    MySQL修改表结构添加删除修改字段 创建数据库CREATE DATABASE database_name 创建表CREATE TABLE `user` ( `id` int(11) unsigned ...

  8. mysql 没设置主键_MySQL建表时不设置主键

    在mysql的技术文档里面有如下文字: If you do not define a PRIMARY KEY for your table, MySQL picks the first UNIQUE  ...

  9. mysql 主从 索引_Mysql繁忙主从库在线修改表结构与添加索引问题

    本帖最后由 jan_1985 于 2014-1-15 13:28 编辑 Mysql繁忙主从库在线修改表结构与添加索引问题 一直以来,生产情况下都有修改索引和修改字段的需求,但是对锁表引起的访问不便是会 ...

最新文章

  1. Installation error: INSTALL_FAILED_INSUFFICIENT_STORAGE
  2. 多媒体文件格式之RMVB
  3. SSH工具Secure Shell Client的sitting窗口显示不全和窗口页面大小问题解决办法
  4. iOS项目开发优秀文章汇总
  5. vue3 src/main.js文件配置
  6. 关于 CSDN 下载频道知识产权保护的声明
  7. SweynTooth:这些蓝牙漏洞导致多种设备易受攻击
  8. 日语学习之——学习技巧
  9. 《App后台开发运维和架构实践》前言
  10. 从OPPO TWS耳机看OPPO声学的体面回归
  11. 人脸识别门禁系统需求分析文档
  12. 腾讯word2vec模型缩小版
  13. java中wint是什么意思,Java线程的同步演示代码,java线程演示,package Wint
  14. 机器码反编译c语言,如何把任意一段机器码或unicode码反汇编成汇编指令
  15. linux运维经验总结
  16. 用 Neo4j 快速构建明星关系图谱,你一定感兴趣
  17. 知识兔课程揭秘跨境电商七大骗局!
  18. TIOBE 1 月编程语言:Python 摘得 2020 年度编程语言
  19. [SUCCESS]Fedora install Nvidia-driver
  20. 关于在线评论有用性的论文研读笔记---10篇

热门文章

  1. 初探人工神经网络算法
  2. http://www.importnew.com/10113.html
  3. html语言怎么改变文字大小,如何设置css中字体大小?
  4. LInux模拟UDP广播
  5. p5js怎么导入html,p5.js loadTable()用法及代码示例
  6. 微软高管称Windows Vista无需杀毒软件说法属误解
  7. pythonic_pythonic方式
  8. Storm DRPC 使用
  9. 痛定思痛,30岁的迷茫程序员
  10. latex \usepackage{colortbl}包报错option clash for package graphics