• 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操作.

  • 相关阅读:
    使用_Capistrano_进行自动化部署(2)
    使用 Capistrano 进行自动化部署
    Zend_Framework_1 框架是如何被启动的?
    PHP新版本变化
    Phpstorm 无法自动断点 Exception
    理解希尔排序
    C# Thread 线程
    Unity 依赖注入容器的AOP扩展
    C# 面向切面编程 AOP
    C# 表达式树 Expression
  • 原文地址:https://www.cnblogs.com/Anec/p/9889648.html
Copyright © 2020-2023  润新知