首页
学习
活动
专区
圈层
工具
发布

MySQL视图更新

,这样可以简化查询操作(一般情况下视图是用来查询用的),在某种条件下是可以利用视图来更新数据库表中的数据的,后面会提到视图的更新。...一般情况下,在创建有条件限制的视图时,加上 "WITH CHECK OPTION"命令 视图的更新问题 某些视图是可更新的。...也就是说,可以在UPDATE、DELETE或INSERT等语句中使用它们,以更新基表的内容。对于可更新的视图,在视图中的行和基表中的行之间必须具有一对一的关系。...仅引用文字值(在该情况下,没有要更新的基本表)。 ALGORITHM = TEMPTABLE(使用临时表总会使视图成为不可更新的)。 注意: 视图中虽然可以更新数据,但是有很多的限制。...一般情况下,最好将视图作为查询数据的虚拟表,而不要通过视图更新数据。因为,使用视图更新数据时,如果没有全面考虑在视图中更新数据的限制,就可能会造成数据更新失败。

4.5K30
  • 您找到你想要的搜索结果了吗?
    是的
    没有找到

    MySQL可更新视图

    可更新视图是指通过视图,来更新、插入、删除基本表中的数据。视图是一个虚拟表,即对视图的更新,实质上是更新基表。但是视图的构造很多时候是由多个表连接查询,以及结合聚合函数,分组过滤等等定义的。...对于这类的视图,想要去更新,恐怕就显得力不从心了。因为涉及到多张表。本文简要描述可更新视图的特点并给出演示。...| Value | +---------------+--------+ | version | 5.7.17 | +---------------+--------+ -- 可更新视图演示 DROP...vw_items5更新数据,此时选择满足条件的记录来更新 -- 更新为比过滤条件低的价格,无法成功更新 UPDATE vw_items_check5 SET price = 700 WHERE id =...DML操作,影响基表数据 2、使用check子句情形,所有的DML必须满足过滤条件,否则报错,update语句更新后的值不符合过滤条件则无法更新 3、LOCAL与CASCADED选项受底层视图影响

    1.9K40

    快速学习-SpringMVC响应数据和结果视图

    第1章 响应数据和结果视图 1.1 返回值分类 1.1.1 字符串 controller 方法返回字符串可以指定逻辑视图名,通过视图解析器解析为物理视图地址。...//指定逻辑视图名,经过视图解析器解析为 jsp 物理路径:/WEB-INF/pages/success.jsp @RequestMapping("/testReturnString") public...1.1.2 void 在昨天的学习中,我们知道 Servlet 原始 API 可以作为控制器中方法的参数: @RequestMapping("/testReturnVoid") public void...; return "forward:/WEB-INF/pages/success.jsp"; } 需要注意的是,如果用了 formward:则路径必须写成实际视图 url,不能写逻辑视图。...:json,xml 等,通过 Response 响应给客户端 1.3.2 使用示例 需求: 使用@ResponseBody 注解实现将 controller 方法返回对象转换为 json 响应给客户端

    70420

    关于vuex更新视图引发的思考

    但是视图没有更新,获取的数据没有展示出来解决尝试在页面中发送commit()来再次更新视图,无效将Vue.set(state, ‘myData’, data),无效…最终方案:代码中所声明的对象里面的key...而Vuex只会跟踪在对象创建时就存在的属性,新添加到对象上的新属性不会触发更新。并且循环嵌套层级太深,视图也可能不更新最终,给数组对象赋值,这里转化了一下写法,生效。...{ state: { myData: [] }, mutations: { setData(state, data) { // state.myData = data 不更新视图...return store.state.myData }},mounted() { console.log(this.store.state.myData)}复制代码为数组添加新属性并不会触发视图更新...,因为vue没有给新属性增加get和set监听赋值的数据,如果循环嵌套层级太深,可能会导致视图不更新扩展这些方法操作数组,vue可以检测到数据变化:push()pop()shift()unshift()

    1.9K30

    【说站】mysql更新视图的限制

    mysql更新视图的限制 1、有些视图是不可更新的,因为这些视图的更新不能唯一有意义地转换为相应的基本表。 2、一般来说,可以更新行列子集视图。除列子集视图外,理论上还可以更新一些视图。... id1 < 30  WITH  CHECK OPTION ;   -- 更新视图ldq_t2(只有ldq_t2中存在的数据都可以更新) SELECT * FROM ldq_t2; -- 查看ldq_t2...OPTION failed(因为执行该语句之后,id2=22记录将从ldq_t2消失) UPDATE ldq_t2 SET id1=28 WHERE id2=22;  -- 可以执行成功     -- 更新...ldq_t3 SELECT * FROM ldq_t3; UPDATE ldq_t3 SET id1=5 WHERE id2=22;  -- 将会报错CHECK OPTION failed(因为数据更新之后...CHECK OPTION failed(因为执行该语句之后,id2=22记录将从ldq_t3消失) DELETE FROM  ldq_t3 WHERE id2=22;  -- 执行成功 以上就是mysql更新视图的限制

    1.8K20
    领券