建了两个表 如:studentinfo表:sid sname classid
01 张三 2
02 李四 3
03 王五 1
04 赵六 2classinfo表:classid classname
1 大班
2 中班
3 小班创建了一个视图studentView_1显示 sid sname classname我想修改张三为大班,可是结果把赵六的也一起修改了。为什么?如何理解
我的语句 update studentView_1 set classname='大班' where sid='01'
01 张三 2
02 李四 3
03 王五 1
04 赵六 2classinfo表:classid classname
1 大班
2 中班
3 小班创建了一个视图studentView_1显示 sid sname classname我想修改张三为大班,可是结果把赵六的也一起修改了。为什么?如何理解
我的语句 update studentView_1 set classname='大班' where sid='01'
不能那么修改的。UPDATE studentinfo SET classid = 1 WHERE sname ='张三'
因为
LZ的视图是可更新的视图, LZ的update语句其实反应在物理表中是
update ClassInfo set ClassName = '大班' where ClassID = 2
这样两个表做连接查询, 张三, 赵六的ClassID都为2, 也就是都两个都是大班了