mysql> select * from view12345;
+----+--------+-------------+------+
| id | name   | passwd      | info |
+----+--------+-------------+------+
|  4 | 乔雅   | as you wish | 23   |

根据视图定义看到 视图定义的时候是id < 5的。

mysql> show create view view12345;
+-----------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+----------------------+----------------------+
| View      | Create View                                                                                                                                                                                                                                                                                | character_set_client | collation_connection |
+-----------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+----------------------+----------------------+
| view12345 | CREATE ALGORITHM=UNDEFINED DEFINER=`skip-grants user`@`skip-grants host` SQL SECURITY DEFINER VIEW `view12345` AS select `view_11_2`.`id` AS `id`,`view_11_2`.`name` AS `name`,`view_11_2`.`passwd` AS `passwd`,`view_11_2`.`info` AS `info` from `view_11_2` where (`view_11_2`.`id` < 5) | utf8mb4              | utf8mb4_0900_ai_ci   |
+-----------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+----------------------+----------------------+
1 row in set (0.00 sec)

接下来,给id 更新,赋给id大于5的值也能够成功,如下:

mysql> update view12345 set id = 122,name = '123',passwd = '888888',info = '1211' where id = 4;
mysql> select * from user;
+--------+----------+--------+-----------------+------------+
| userid | username | age    | passwd          | info       |
+--------+----------+--------+-----------------+------------+
|      6 | robert2  |     35 | change          | change ok  |
|      8 | robert   |     35 | 888888          | update     |
|      9 | robert   |     35 | 123456          | update     |
|    122 | 123      | 123455 | 654321          | 1211       |
|      5 | 乔木     | 121111 | you are so good | 13         |
+--------+----------+--------+-----------------+------------+
5 rows in set (0.00 sec)

总结:

视图定义的时候如果不加上 with cascaded|local check option,那么视图更新的时候就不用受约束。结果导致视图中原有数据被破坏,这是一个非常令人恼怒的结果,所以定义视图的时候,最好加上with check option

mysql更新视图的时候有时候可以不满足视图条件的值也能更新成功相关推荐

  1. 史上最简单MySQL教程详解(进阶篇)之视图

    史上最简单MySQL教程详解(进阶篇)之视图 为什么要用视图 视图的本质 视图的作用 如何使用视图 创建视图 修改视图 删除视图 查看视图 使用视图检索 变更视图数据 WITH CHECK OPTIO ...

  2. MySql基础篇---004 其它数据库对象篇:视图,存储过程与函数,变量、流程控制与游标 ,触发器

    第14章_视图 讲师:尚硅谷-宋红康(江湖人称:康师傅) 官网:http://www.atguigu.com 1. 常见的数据库对象 对象 描述 表(TABLE) 表是存储数据的逻辑单元,以行和列的形 ...

  3. 第14章_视图(创建视图、查看视图、更新视图的数据、修改、删除视图)

    第14章_视图 第14章_视图 1. 常见的数据库对象 2. 视图概述 2.1 为什么使用视图? 2.2 视图的理解 3. 创建视图 3.1 创建单表视图 3.2 创建多表联合视图 3.3 基于视图创 ...

  4. Mysql数据库基础知识(五)之:视图、变量、存储过程、函数、流程控制结构

    第一部分:Mysql数据库基础知识(一)之 基础查询----分组查询 第二部分:Mysql数据库基础知识(二)之 连接查询----子查询-----分页查询------union联合查询 第三部分:My ...

  5. mysql视图的特点有哪些_MySQL之视图

    什么是视图? 一张虚表,和真实的表一样.视图包含一系列带有名称的行和列数据.视图是从一个或多个表中导出来的,我们可以通过insert,update,delete来操作视图.当通过视图看到的数据被修改时 ...

  6. mysql的视图的名词解释_MySql中的视图的概念及应用

    视图的基本概念 视图是从一个或几个基本表(或者视图)导出的表.它与基本表不同,是一个虚表. 数据库只存放视图的定义,而不存放视图对应的数据,这些数据仍存放在原来的基本表中.所以基本表中的数据发生变化, ...

  7. 对于mysql数据库视图心得_MySQl心得4--5--数据库视图

    1. 修改.查询.删除记录时都会提示多少条记录被影响,但建表不会提示.当表的数据修改后反映到视图. 修改.查询.删除视图的命令跟建表时的一样. 视图是从一个或多个表(或视图)导出的表.视图是数据库的用 ...

  8. mysql 视图 union all 索引_mysql---索引、视图

    1. 索引 (1) 索引:表中一列或多列组合而成 作用:提高查询速度[降低了插入数据的速度] 所有存储引擎对每个表至少支持16个索引,总索引长度至少为256字节 InnoDB.MyISAM支持BTRE ...

  9. mysql ef 随机排序_EFCore+Mysql倉儲層建設(分頁、多字段排序、部分字段更新)

    前沿 園子里已有挺多博文介紹了EFCore+Mysql/MSSql如何進行使用,但實際開發不會把EF層放在Web層混合起來,需要多個項目配合結構清晰的進行分層工作,本文根據個人實踐經驗總結將各個項目進 ...

最新文章

  1. BGP相邻体之间磋商的过程
  2. iphone9发布_【60秒半导体新闻】消息称国外疫情爆发让苹果取消发布会 iPhone 9跳票/华为P40全家福:7种配色、陶瓷尊享版配豪华五摄...
  3. LuaForUnity10:框架配置与AssetBundle
  4. 原生html如何发送网络请求,原生JS向服务器发送GET请求
  5. 哨兵系列卫星_国外卫星典型应用
  6. Sphinx语音识别
  7. mysql 触发器 instead of_AFTER触发器与INSTEAD OF触发器
  8. [javaSE] 基本类型(String相关)
  9. 如何将多个文件的简体中文名快速翻译成繁体中文
  10. 【学渣告诉你】到底神马是傅里叶级数!!!!!!
  11. 3天3万视频课程的笔记
  12. 客户细分——RFM模型
  13. ht城市介绍人口数量Html,城市人口热力图 城市热力图查询
  14. APUE编程:83---信号处理(SIGABRT信号与abort函数)
  15. 单片机c语言篮球比分_单片机和C语言的篮球计时计分器设计
  16. Android 2.2 (Froyo) 源码已经公布
  17. visio与office冲突的解决方法
  18. java并行任务,Java 并发编程学习(五):批量并行执行任务的两种方式
  19. channl数据通道块代码层次理解 【MCDF项目】
  20. 出現 MSVCR100.dll 無法繼續執行

热门文章

  1. http请求在asp.net中的应用
  2. webbench源码解析
  3. redis mysql 下载_redis 下载安装
  4. [python爬虫] Selenium高级篇之窗口移动、弹出对话框自登录
  5. 【数据结构与算法】之深入解析“二叉树的后序遍历”的求解思路与算法示例
  6. LeetCode Algorithm 7. 整数反转
  7. 信息学奥赛一本通(C++)在线评测系统——基础(三)数据结构 —— 1339:【例3-4】求后序遍历
  8. 【MFC】MFC对话框类
  9. 【Linux】一步一步学Linux——xeyes命令(228)
  10. 【Linux】一步一步学Linux——killall命令(125)