3
A
回答
5
由於Updatable and Insertable Views下記載:
有些意見是可更新的。也就是說,您可以在諸如
UPDATE
,DELETE
或INSERT
之類的語句中使用它們來更新基礎表的內容。爲了使視圖可以更新,視圖中的行與基礎表中的行之間必須存在一對一的關係。還有一些其他構造使視圖不可更新。更具體地,視圖是不如果它包含以下任一可更新:
DISTINCT
GROUP BY
HAVING
子查詢在選擇列表
某些連接(見附加在本節後面加入討論)的
FROM
子句中不可更新視圖
WHERE
子句中的子查詢引用了中的表子句僅指文本值(在這種情況下,不存在基礎表更新)
用途
ALGORITHM = TEMPTABLE
(使用臨時表的總是使一個視圖不可更新)多對基表的任何列的引用。
[ deletia ]
有時可以用於多表視圖可更新,假定它可與
MERGE
算法進行處理。爲此,視圖必須使用內連接(不是外連接或UNION
)。此外,只能更新視圖定義中的單個表,因此SET
子句必須僅命名視圖中其中一個表的列。使用UNION ALL
的視圖即使可能在理論上可更新也是不允許的,因爲實現使用臨時表來處理它們。
相關問題
- 1. 可更新的mysql視圖
- 2. 在ViewModel中更新視圖
- 3. MySQL:從僞視圖表更新主表
- 4. 在新視圖中更新進度欄
- 5. asp.net mvc3更新(刷新)在視圖中的視圖
- 6. 更新視圖
- 7. 更新視圖
- 8. 更新視圖
- 9. MySQL - 在視圖中插入/更新/刪除
- 10. 數據庫視圖在MySQL中多久更新一次?
- 11. 在MySQL中可更新的視圖的主鍵
- 12. 在視圖中單擊下拉列表來更新mysql表格
- 13. 更新MySQL中的圖像
- 14. 在SQLiteChange上更新視圖
- 15. 在mvvm視圖不更新
- 16. 正在更新視圖spark.components.List
- 17. 正在更新視圖iOS
- 18. 如何在Mysql中更新圖像
- 19. WPF ObservableCollection未在視圖中更新
- 20. 在AngularJS中更新屏幕視圖
- 21. UIView幀未在視圖中更新DIDAppear
- 22. 在QT中更新另一個視圖
- 23. 值不在視圖中更新
- 24. 在Android中更新列表視圖
- 25. WPF在循環中更新視圖
- 26. 在AngularJS中未更新視圖
- 27. 在自定義視圖中更新TextView
- 28. $ scope.myVar更新但不在視圖中
- 29. 在佈局中更新局部視圖
- 30. 在網格視圖中更新主鍵
我檢查了INFORMATION_SCHEMA.VIEWS表,我的視圖是可更新的。但是,當我嘗試從非管理員用戶ID更新它,我得到錯誤「錯誤代碼1142:UPDATE命令拒絕用戶'abc'表'視圖'」。雖然我已經明確授予特定視圖的更新權限。任何想法爲什麼我會得到這個錯誤? – mishra
@mishra我猜測,但也許用戶也需要權限來修改生成視圖的基表。你可能不想這樣做。 –