美文网首页
MySQL学习:外键约束foreign key

MySQL学习:外键约束foreign key

作者: 疏醉 | 来源:发表于2020-02-25 13:37 被阅读0次

    1、在创建表时,可添加外键

    语法:

    CREATE TABLE 表名(

    ....

    外键列

    CONSTRAINT 外键名称 FOREIGN KEY (外键列名称) REFERENCES 主表名称(主表列名称)

    );

    实例:

    表为:

    数据有冗余

    解决方案:分成两张表

    分别为:

    注意:当不添加外键约束时,很有可能导致对应记录无效,主表中外键对应的字段被删除后,从表中外键列对应的值就无效了。

    外键值可以为null,不可为主表中不存在的外键值。

    2、删除外键

    ALTER TABLE 表名 DROP FOREIGN KEY 外键名;

    eg:ALTER TABLE employee DROP FOREIGN_KEY emp_dept_fk;

    3、在创建表之后添加外键

    ALTER TABLE 表名 ADD CONSTRAINT 外键名 FOREIGN  KEY (外键列名称) REFERENCES 主表名称(主表列名称)

    EG:ALTER TABLE employee ADD CONSTRAINT emp_dept_fk FOREIGN KRY (dep_id) REFERENCES department (id);

    4、级联操作

    添加级联操作

    1、级联更新

    ALTER TABLE 表名 ADD CONSTRAINT 外键名 FOREIGN  KEY (外键列名称) REFERENCES 主表名称(主表列名称)ON UPDATE CASCADE;

    2、级联删除

    ALTER TABLE 表名 ADD CONSTRAINT 外键名 FOREIGN  KEY (外键列名称) REFERENCES 主表名称(主表列名称)ON DELETE CASDATE;

    注意:级联删除,当删除主表列中的值,对应的外键记录一整列会全部删除,很不安全,使用时应谨慎,

    相关文章

      网友评论

          本文标题:MySQL学习:外键约束foreign key

          本文链接:https://www.haomeiwen.com/subject/hsazqhtx.html