5.7.6之前:
- WITH LOCAL CHECK OPTION
會檢驗視圖v4WHERE子句下的條件,但是不會檢驗底層視圖v3的WHERE子句條件
- WITH CASCADED CHECK OPTION
會檢查視圖v4WHERE子句下的條件,然后檢查底層視圖v3的WHERE條件
- 沒有check option
均不檢查
5.7.6版本:
- WITH LOCAL CHECK OPTION
會檢驗視圖v4WHERE子句下的條件,然后檢驗底層視圖v3的WHERE子句條件
- WITH CASCADED CHECK OPTION
會檢查視圖v4WHERE子句下的條件,然后檢查底層視圖v3的WHERE子句條件
- 沒有check option
不會檢查視圖v4WHERE子句下的條件,但會檢查底層視圖三的WHERE子句條件
演示:
- 創建表a1
- 創建三個視圖v1_a1、v2_a2、v3_a1
v2_a1、v3_a1是基於視圖v1_a1派生的.
- 5.7.6版本之前
- 視圖v2_a1使用local check option,insert 時只會測試v2_a1中的WHERE子句。
- 視圖v3_a1使用cascaded check option,insert時會測試v3_a1中的WHERE子句,還會測試v1_a1中的WHERE子句
- 5.7.6版本
- 使用local check option,insert時不僅要檢查v2_a1中的WHERE子句,還會檢查v1_a1中的WHERE子句;
- 使用cascaded依舊如之前的規則。