我们能像更新 MySQL table 中的值一样更新 MySQL view 中的任意值吗?


众所周知,借助 UPDATE 语句,我们可以更新 MySQL 表格中的值,同样,我们也可以更新 MySQL 视图中的值。UPDATE 语句的语法仍然相同,但我们必须使用视图名称而不是表格名称。我们从名为“Info”的视图获取数据,如下所示,以阐述上述概念 -

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)

更新时间: 22-6 月 -2020

407 次查看

开启你的 职业生涯

通过完成课程获取认证

开始
广告