예, MySQL은 뷰, 기본 테이블 및 관련 뷰에서 값이 업데이트되면 값을 업데이트합니다. 이를 설명하기 위해 다음 데이터가 있는 Student_info 테이블의 예를 사용합니다 -
mysql> Select * from student_info; +------+---------+------------+------------+ | id | Name | Address | Subject | +------+---------+------------+------------+ | 101 | YashPal | Amritsar | History | | 105 | Gaurav | Chandigarh | Literature | | 125 | Raman | Shimla | Computers | | NULL | Ram | Jhansi | Computers | +------+---------+------------+------------+ 4 rows in set (0.00 sec)
다음은 'Student_info' 테이블을 기반으로 생성된 '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)
이제 다음 쿼리에서 'Info' 보기를 업데이트합니다 -
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)
위의 결과 집합은 vies 'Info'가 업데이트되었음을 보여줍니다.
mysql> Select * from student_info; +------+---------+------------+------------+ | id | Name | Address | Subject | +------+---------+------------+------------+ | 101 | YashPal | Amritsar | History | | 105 | Gaurav | Chandigarh | Literature | | 125 | Raman | Shimla | Computers | | 130 | Ram | Jhansi | Computers | +------+---------+------------+------------+ 4 rows in set (0.00 sec)
위의 결과 세트는 'info'라는 뷰를 업데이트했을 때 기본 테이블도 업데이트되었음을 보여줍니다.
아래는 'info' 보기를 기반으로 생성된 'info_less'라는 이름의 보기이며 'info' 보기를 업데이트할 때 업데이트되었습니다.
mysql> Select * from info_less; +------+-------+-----------+ | Id | Name | Subject | +------+-------+-----------+ | 125 | Raman | Computers | | 130 | Ram | Computers | +------+-------+-----------+ 2 rows in set (0.00 sec)