zoukankan      html  css  js  c++  java
  • Mysql 主键约束PrimaryKey

    Mysql 主键约束Primary Key

    今天来简单的讲一下主键约束。
    假如有一张学生信息表,里面记录了学生的学号 ,姓名,成绩等,那么,会不会有两个学号相同的学生,答案肯定是否定的,如果有的话也只能是插入信息的时候犯下的错误,那么我们如何去避免这种错误呢,这时候,primary key就发挥作用了。

    下面我们创建一个stu_inform 表

    create table stu_inform(
        id int,
        name varchar(20),
        grade double,
        primary key(id)
    );
    

    这样的话我们就为id 加上了主键约束,我们来插入一个错误的信息

    insert into stu_inform values(1,'张三',100.00),(1,'李四',100.00); -- Error
    

    如果是这样插入的话环境会报出一个错误,这个错误正是主键约束的作用。

    但是如果你也想让姓名也不能相同,你可能会这样写

    create table stu_inform(
        id int,
        name varchar(20),
        grade double,
        primary key(id,name)
    );
    

    接下来我们插入一个数据

    insert into stu_inform values(1,'张三',100.00),(1,'李四',100.00);
    

    你会发现这条语句是完全可行的,是完全没有错误的,这是为什么呢,这是因为这是一个联合主键,它的作用是id不能重复 且 姓名也不能重复,注意是且。

    你如果这样写的话

    insert into stu_inform values(1,'张三',100.00),(1,'张三',100.00);//Error
    

    你如果这样写的话就是大错特错了,因为这违反了联合主键。因为id和姓名同时相同了就是这个道理。

    那么要怎样才能实现id不能相同,同时姓名也不能相同呢,这就是下一篇要讲的unique的作用了。

  • 相关阅读:
    vue-cli创建项目 一直downloading解决办法
    Win7点击文件夹右键可打开cmd控制台,并获取当前目录

    js apply/call/caller/callee/bind使用方法与区别分析
    click() bind() live() delegate()区别
    域名与IP对应,解决只能IP访问不能域名访问的问题
    element.style{}
    git
    new
    js 数组函数
  • 原文地址:https://www.cnblogs.com/haodawang/p/5967222.html
Copyright © 2011-2022 走看看