• MySql -- primary key主键约束


    4、primary key主键约束

    在一张表中:

    1) 主键约束是 NOT NULL、UNIQUE唯一的记录。

    2) 主键约束必须是唯一的值。

    3) 主键约束列不能包含 NULL 值。

    注意:每个表都应该有一个主键,并且每个表只能有一个主键。

    -- 我们创建一张表
    CREATE TABLE `test`.`info2`(  
      `id` INT(11) NOT NULL,
      `idCard` VARCHAR(18) NOT NULL, 
      `mobile` VARCHAR(11)
    ) ENGINE=INNODB CHARSET=utf8 COLLATE=utf8_estonian_ci;

     
    添加主键约束、

    -- 直接使用 PRIMARY KEY (`id`),就可以为 id 字段添加主键约束
    CREATE TABLE `test`.`info2`(  
      `id` INT(11) NOT NULL,
      `idCard` VARCHAR(18) NOT NULL, 
      `mobile` VARCHAR(11),
      PRIMARY KEY (`id`)
    ) ENGINE=INNODB CHARSET=utf8 COLLATE=utf8_estonian_ci;
    
    -- 如果已经存在表,可以使用sql语句添加。
    ALTER TABLE `info2` ADD PRIMARY KEY (`id`);
    
    -- 主键约束可以使用多个字段组成
    ALTER TABLE `info2` ADD PRIMARY KEY (`id`,`idCard`);
    
    结果:
    FIELD   TYPE              COLLATION         NULL    KEY     DEFAULT  Extra           PRIVILEGES                       COMMENT  
    ------  ----------------  ----------------  ------  ------  -------  --------------  -------------------------------  ---------
    id      INT(11) UNSIGNED  (NULL)            NO      PRI     (NULL)   AUTO_INCREMENT  SELECT,INSERT,UPDATE,REFERENCES           
    idCard  VARCHAR(18)       utf8_estonian_ci  NO      PRI     (NULL)                   SELECT,INSERT,UPDATE,REFERENCES           
    mobile  VARCHAR(11)       utf8_estonian_ci  YES             (NULL)                   SELECT,INSERT,UPDATE,REFERENCES    
    
    -- 如果已经存在约束的,可以使用下面的语句进行修改
    -- 操作思路为先删除原来的,再添加新的
    ALTER TABLE `info2` DROP PRIMARY KEY, ADD PRIMARY KEY (`id`);

    移除主键约束:

    -- 移除主键的方法较为简单,直接使用 DROP PRIMARY KEY 就可以把全部的主键约束移除
    ALTER TABLE `info2` DROP PRIMARY KEY;
    原创内容,如果你觉得文章还可以的话,不妨点个赞支持一下!转载请注明出处。
  • 相关阅读:
    (转)fabric 一个链码如何调用另一个链码
    (转)Java静态内部类的实例化问题
    解决Linux 下 root用户删除文件提示:Operation not permitted
    Mybatis Update操作返回值问题
    mybatis {arg0} 与 {0}
    乐观锁 -业务判断 解决高并发问题
    (转)漫谈MySql中的事务
    (转)ThreadLocal-面试必问深度解析
    (转)Thread的中断机制(interrupt)
    多线程
  • 原文地址:https://www.cnblogs.com/lixingwu/p/7212038.html
Copyright © 2020-2023  润新知