笔记数据库外键级联更新

请写出下列操作的SQL语句:"由于人才培养方案的变更,数学与统计学院的数据科学与大数据技术(非师范)专业的编号将变更为编号1203,请直接将专业表中的专业编号1202更改为1203的信息"。

请根据要求完成操作,并回答以下问题:

① 能更新成功吗?

② 若更新失败,请说明原因;若更新成功,请用SELECT语句在专业表中查询数据科学与大数据技术(非师范)专业的相关信息

(1)MySQL语句(2分)

UPDATE major

SET Mno='1203'

WHERE Mno='1202';

(2)回答问题(2分)

① 更新失败

② 因为学生表中有与该专业相关联的学生信息,违反参照完整性(外键)约束

请写出下列操作的SQL语句:"① 将学生表中对Mno的外键声明重新设置可为级联更新;② 再重新更新专业表中数据科学与大数据技术(非师范)专业的专业编号"。

请根据要求完成操作,并回答以下问题:

① 能更新成功吗?

② 若更新失败,请说明原因;若更新成功,请说明更新后的结果是怎样的。

(1)MySQL语句(6分)

① 重新设置外键

ALTER TABLE students

    DROP CONSTRAINT FK_Mno;

ALTER TABLE students

ADD CONSTRAINT FK_Mno FOREIGN KEY(Mno)

REFERENCES major(Mno)

ON UPDATE CASCADE;

② 更新专业信息

UPDATE major

SET Mno='1203'

WHERE Mname='数据科学与大数据技术(非师范)';

(2)回答问题(2分)

① 更新成功

② 因为设置了级联更新,所以当更新专业表中的专业编号时,系统会自动将学生表中该专业编号更新为新的专业编号

  • 12
    点赞
  • 11
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值