zoukankan      html  css  js  c++  java
  • Database学习

    外键

      外键约束子表的含义:如果在父表中赵达不到候选键,则不允许在子表上进行insert/update

      外键预约对父表的含义:在父表上进行update/delete以更新或删除子表中有一条或多条对应匹配的候选键时,父表的行为取决于,在定义子表的外键时指定的on update/ on delete 字句. 

    创建外键

      建表时定义外键

    foreign key (子表-字段) references 主表(字段)

    注意:外键关联的主键的数据类型一定要保持一致

      

      添加外键

    alter table 表名 add constraint 外键名  foreign key (子表-字段) references 主表(字段);

      删除外键

    alter table 表名 drop foreign key 外键名;

    四种外键删除方式:

      外键的级联同步删除配置:(cascade方式)

      创建表方式:

    foreign key (子表-字段) references 主表(字段) on delete cascade;

      添加表方式:

    alter table 表名 add constraint 外键名  foreign key (子表-字段) references 主表(字段) on delete cascade;

      外键的级联删除同步为空配置:(set null方式)

      创建表方式:

    foreign key (子表-字段) references 主表(字段) on delete set null;
     

      添加表方式:

    alter table 表名 add constraint 外键名  foreign key (子表-字段) references 主表(字段) on delete set null;

          外键的级联操作配置:(restrict方式):

                    拒绝对父表进行删除更新操作

          外键的级联操作配置:(no action方式):

                    在mysql中restrict,如果子表中有匹配的记录,则不允许对父表对应候选键进行update/delete操作.

  • 相关阅读:
    MYBATIS 的parameter
    深入了解MyBatis参数
    js之onload事件的一点使用心得
    js中document.write的那点事
    MyBatis直接执行SQL查询及批量插入数据
    ng 服务
    ng json格式的序列化和反序列化
    ng 自定义过滤器的创建和使用
    ng 过滤器
    ng 双向数据绑定 实现 注册协议效果
  • 原文地址:https://www.cnblogs.com/Anec/p/9889648.html
Copyright © 2011-2022 走看看