0
有沒有辦法鏈接兩個表,所以當我改變基表時,視圖也會改變呢?類似的東西:如何創建視圖,以便在基表變更時也改變視圖?
CREATE TABLE t (qty INT, price INT);
INSERT INTO t VALUES(3, 50);
CREATE VIEW v AS SELECT * FROM t;
SELECT * FROM v;
+------+-------+
| qty | price |
+------+-------+
| 3 | 50 |
+------+-------+
ALTER TABLE t ADD COLUMN comm INT;
SELECT * FROM t;
+------+-------+------+
| qty | price | comm |
+------+-------+------+
| 3 | 50 | NULL |
+------+-------+------+
SELECT * FROM v;
+------+-------+
| qty | price |
+------+-------+
| 3 | 50 |
+------+-------+
最後兩個SELECT-s應該是相等的。
PS。我知道MySQL說:
視圖定義在創建時是「凍結的」,所以後來對基礎表的更改不會影響視圖定義。
和創建觸發器也是不可能的,因爲觸發事件不包括ALTER TABLE
是的,我知道。問題是:如何使它發生?我的意思是儘可能地堅實。 – 2011-03-31 16:05:54
@wk:我不認爲這有一個自動方式約束。你必須照顧這一點 – 2011-03-31 16:08:26