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