mysql创建视图后,双击打开视图,提示没有主键,如下图: 20
语句是这样:select`sys_user`.`staffid`AS`staffid`,`sys_user`.`shopid`AS`shopid`,`bu_shopinf...
语句是这样:
select `sys_user`.`staffid` AS `staffid`,`sys_user`.`shopid` AS `shopid`,`bu_shopinfo`.`shopcode` AS `shopcode`,`bu_shopinfo`.`shopname` AS `shopname`,`sys_user`.`userno` AS `userno`,`bu_staff`.`name` AS `name`,`sys_user`.`nickname` AS `nickname`,`sys_user`.`password` AS `password`,`bu_staff`.`activity` AS `activity` from ((`bu_staff` join `sys_user` on((`bu_staff`.`stfid` = `sys_user`.`staffid`))) join `bu_shopinfo` on((`sys_user`.`shopid` = `bu_shopinfo`.`shpid`))) where (`bu_shopinfo`.`activity` = 1) 展开
select `sys_user`.`staffid` AS `staffid`,`sys_user`.`shopid` AS `shopid`,`bu_shopinfo`.`shopcode` AS `shopcode`,`bu_shopinfo`.`shopname` AS `shopname`,`sys_user`.`userno` AS `userno`,`bu_staff`.`name` AS `name`,`sys_user`.`nickname` AS `nickname`,`sys_user`.`password` AS `password`,`bu_staff`.`activity` AS `activity` from ((`bu_staff` join `sys_user` on((`bu_staff`.`stfid` = `sys_user`.`staffid`))) join `bu_shopinfo` on((`sys_user`.`shopid` = `bu_shopinfo`.`shpid`))) where (`bu_shopinfo`.`activity` = 1) 展开
1个回答
展开全部
1 意思是:
这个视图没有主键;更新表时将会使用下列虚拟语句:
update v_sys_user set 更新的列=更新的值 where 列1=列1的旧值 and 列2=列2的旧值 and ... limit 1;(这个的意思就是,如果视图是可更新视图,在表格窗口中更改某列值时会使用类似上边的语句来完成,where后是所有的列必须等于旧值)
2 只做查询时可以不用理会,如果要通过视图更新某列值时,就看上边提示的语句符合不符合你的要求了。
这个视图没有主键;更新表时将会使用下列虚拟语句:
update v_sys_user set 更新的列=更新的值 where 列1=列1的旧值 and 列2=列2的旧值 and ... limit 1;(这个的意思就是,如果视图是可更新视图,在表格窗口中更改某列值时会使用类似上边的语句来完成,where后是所有的列必须等于旧值)
2 只做查询时可以不用理会,如果要通过视图更新某列值时,就看上边提示的语句符合不符合你的要求了。
追问
非常感谢,我只是需要做查询而已。就是觉得奇怪,有些视图不会,有些视图又会弹出这个提示,想找一下问题所在。
追答
当你创建的视图,其列未包含其表的主键时,就会出现这样的提示。
本回答被网友采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询