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

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被同时修改。

一对一关联表,关联字段修改_第1张图片

一对一关联表,关联字段修改_第2张图片

你可能感兴趣的:(SSM)