我们能否更新 MySQL 视图中的任何值,就像我们可以更新 MySQL 表中的值一样?


我们知道借助 UPDATE 语句可以更新 MySQL 表中的值,类似地可以更新 MySQL 视图中的值。UPDATE 语句的语法会相同,不同的是表名改为了视图名。我们从名为“信息”的视图中以如下方式获取数据,以说明上述概念 −

mysql> Select * from Info;
+------+---------+------------+
| Id   | Name    | Subject    |
+------+---------+------------+
| 101  | YashPal | History    |
| 105  | Gaurav  | Literature |
| 125  | Raman   | Computers  |
| NULL | Ram     | Computers  |
+------+---------+------------+
4 rows in set (0.00 sec)

现在,假设我们要将 Id 的值从 NULL 更改为任意其他值,则借助以下查询可以更新视图的值 −

mysql> Update info set id = 130 where Name = 'Ram';
Query OK, 1 row affected (0.88 sec)

mysql> Select * from Info;
+------+---------+------------+
| Id   | Name    | Subject    |
+------+---------+------------+
| 101  | YashPal | History    |
| 105  | Gaurav  | Literature |
| 125  | Raman   | Computers  |
| 130  | Ram     | Computers  |
+------+---------+------------+
4 rows in set (0.00 sec)

更新于: 2020 年 6 月 22 日

408 次浏览

开启你的 职业生涯

完成课程以获得认证

开始学习
广告