視圖的更新和刪除
向視圖中添加數據失敗的原因
可能是因為視圖中沒有添加基表中not null 或 沒有添加默認值 的數據
1.視圖的更新
MySQL中支持使用 UPDATE 、 INSERT INTO 、DELETE 更行視圖中的數據
更新視圖中的數據時基表的數據也會跟着一起改動,反之則亦然
視圖的更新可能會失敗,例如如果視圖的字段是由基表中的聚合函數計算出來的,則不能進行更新
例如
CREATE VIEW 視圖1( 部門 ,平均工資)
AS
SELECT 部門 , AVG(工資) AS "平均工資"
FROM 員工表;
得到的視圖字段中含有基表中聚合函數計算出來的數據,如果這樣像如下操作則會報錯
UPDATE 視圖1
SET 平均工資 = xxx
WHERE 篩選條件
操作失敗,因為基表中沒有平均工資這個字段
2.修改視圖
方式一:
CREATE OR REPLCE VIEW XXX
AS
SELECT 字段1,字段2,...
FROM 表
選加 where 語句
方式二:
ALTER VIEW XXX
AS
SELECT 字段1,字段2,...
FROM 表
選加 where 語句
2 、視圖的刪除
DROP VIEW 視圖名