Mysql增加外键约束

创建外键的两种方式
            方式一.在创建表的时候 添加外键
            方式二.表已经创建好了 后续修改表的结构来添加外键

            方式一
            语法 [constraint 外键关系名] foreign key (从表的字段) references 主表名(主表的字段)

            [constraint 外键关系名] 可以不写 就是一个外键约束的名字 如果不写 系统会自己给
            foreign key 将从表中的字段作为外键字段
            references 映射到主表的字段


            CREATE TABLE stu2(
                sid INT PRIMARY KEY,
                sname VARCHAR(10) NOT NULL,
                sex VARCHAR(10) DEFAULT '男'
            );
            CREATE TABLE score(
                id INT PRIMARY KEY,
                score INT,
                ssid INT,
                CONSTRAINT fk_stu2_score FOREIGN KEY (ssid) REFERENCES stu2(sid)
            );
            方式二 表已经创建好了
            alter table dept add primary key (deptno);
            alter table emp add foreign key (deptno) references dept(deptno);
            DELETE FROM dept WHERE deptno = 20;
        注意:
            如果两张表有了外键关联 并且从表中正在使用主表数据
            那么就不能随便删除主表中的数据
            必须先删除从表中的数据 再删除主表的数据
    
            SHOW CREATE TABLE 从表名;//查询建表语句
            删除外键
            ALTER TABLE 从表名 DROP FOREIGN KEY 外键关系名;
  • 2
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值