zoukankan      html  css  js  c++  java
  • 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 外表(外表字段)

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

     
     
     







  • 相关阅读:
    vss修复
    缓存项增加删除测试
    temp
    jQuery的三种Ajax模式
    Lucene入门与使用(1)转
    详细解析Java中抽象类和接口的区别
    IT人,不要一辈子靠技术生存[转载]
    setTimeout和setInterval的使用 【转载】
    JQuery实现省市区三级联动
    学习jQuery
  • 原文地址:https://www.cnblogs.com/sewen-H/p/13211428.html
Copyright © 2011-2022 走看看