一对一关联表,关联字段修改

1、修改从表数据
非关联字段可以随便修改,关联字段sid必须修改为student表中存在的(而且没有联系人的)学生的id或者修改为null(前提是contact表的sid已经设置为可空)。

分析:在学生和联系人关联字段中(信息包含有学生信息,联系人信息),添加 left join  可以只提取学生信息,因为只有把学生信息提取出来才能够更改sid字段(更改后的学生需要有效的,存在的)。

2、修改SQL数据库提取代码,

 左连接 left join: 左边表中数据必须出来。

    select 
            s.id sid,
            s.name sname,
            s.sex ssex,
            s.pwd spwd,
            s.phone sphone,
            s.grade sgrade,
            s.photo sphoto,
            c.id cid,
            c.name cname,
            c.sex csex,
            c.relation crelation,
            c.phone cphone
    from 
            student s
    left join
            contact c 
    ON 
            c.sid=s.id
    WHERE
                  s.id=#{id}

 

3、修改主表数据

非主键字段可以随便修改

主键字段不能随便修改,一般也不需要修改

如果一定要修改,

(1)可以先切断其和关联数据的连接关系(比较麻烦),然后进行修改

(2)另外,还以采用级联更新的方式

主键字段的修改可以采用级联的方式
1)修改主键后,其对应的联系人的sid被设置为空
2) 修改主键后,其对应的联系人的sid被同时修改。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值