建了两个表 如: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'

解决方案 »

  1.   

    楼主update studentView_1 set classname='大班' where sid='01'  肯定会修改两条记录呀。
    不能那么修改的。UPDATE studentinfo SET classid  = 1 WHERE sname  ='张三' 
      

  2.   

    如果视图的数据来源于两张表,该视图不能使用update语句,建议直接修改基本表
      

  3.   

    当然赵六的也修改成大班了
    因为 
    LZ的视图是可更新的视图, LZ的update语句其实反应在物理表中是
    update ClassInfo set ClassName = '大班' where ClassID = 2
    这样两个表做连接查询, 张三, 赵六的ClassID都为2, 也就是都两个都是大班了