• Mysql完整性约束


    1. NOT NULL

    非空约束,指定某列不能为空;

    设置严格模式:

      不支持对not null字段插入null值
      不支持对自增长字段插入null
      不支持text字段有默认值
    直接在mysql中生效(重启失效):
    mysql>set sql_mode="STRICT_TRANS_TABLES,NO_AUTO_CREATE_USER,NO_ENGINE_SUBSTITUTION"; 
    配置文件添加(永久有效):
    sql-mode="STRICT_TRANS_TABLES,NO_AUTO_CREATE_USER,NO_ENGINE_SUBSTITUTION" 
    默认值设置语句:

    default 默认值 

    2. UNIQUE

    唯一约束,不能重复,指定某列或者几列组合不能重复,但是null能写入多次     
    联合唯一:

    语法:unique(ip,port),表示两个行     数据对应的ip和port不能完全相同。

    3. PRIMARY KEY

    主键,指定该列的值可以唯一地标识该列记录;
    第一个被定义为非空+唯一的那一列会被定义为这张表的主键;

    一张表只能定义一个主键;
    可以通过primary key定义;
    联合主键:primary key(ip,port),表示两个行数据对应的ip和port不能完全相同。(系统会在所定义的两个数据后面加上默认值  ’’ -–> > 一个空的字符串)

    4. auto_increment

    自增,只能对数字有效,自带非空约束;
    至少是unique真的约束之后才能使用;

    5. FOREIGN KEY

    外键,指定该行记录从属于主表中的一条记录,主要用于参照完整性

    create table t1(
           id int primary key auto_increment,
           name char(12) not null,
           gender enum('male','female') default 'male',
           class_id int unsigned,
           foreign key(class_id) references class(cid) on update cascade on delete cascade
    )                    
    on delete cascade 尽量不用

    Cascade -->级联

    foreign key(自己的字段) references 外表(外表字段)

    外表字段必须至少“唯一”的

     
     
     







  • 相关阅读:
    为什么你投十份简历,只有一两家公司约你?又或者为什么你每投一份简历都能获得面试机会?
    JAVA程序1,1,2,3,5,8,13,21....第30个是什么...?
    1-2+3-4+5-6+7......+n的几种实现
    分层应用——如何实现登录?
    初识三层
    VB.NET视频总结——后续篇
    操作系统小结
    VB.NET视频总结——基础篇
    台湾与大陆的计算机术语翻译差异
    VB.NET概述
  • 原文地址:https://www.cnblogs.com/sewen-H/p/13211428.html
Copyright © 2020-2023  润新知