MySQL是目前最流行的關系型數據庫管理系統之一,但是它是否支持外鍵一直是廣受爭議的問題。下面我們來探討一下。
事實上,MySQL從5.1版本開始就支持外鍵了。使用外鍵可以保證數據的完整性,例如可以進行級聯刪除等操作。在創建表的時候,可以通過使用FOREIGN KEY關鍵字來定義外鍵。例如:
CREATE TABLE orders( order_id INT PRIMARY KEY, customer_id INT, FOREIGN KEY (customer_id) REFERENCES customers(customer_id) );
上面的代碼創建了一張訂單表orders,指定了一個customer_id字段作為外鍵,它引用了另外一張客戶表customers的主鍵customer_id。這樣,當在customers表中刪除了一個客戶時,其對應的訂單也會被級聯刪除。
但是需要注意的是,MySQL默認情況下并不開啟外鍵約束。如果需要啟用外鍵約束,需要使用引擎類型為InnoDB的存儲引擎。例如:
CREATE TABLE orders( order_id INT PRIMARY KEY, customer_id INT, FOREIGN KEY (customer_id) REFERENCES customers(customer_id) ) ENGINE=InnoDB;
上面的代碼將表orders指定了使用InnoDB引擎,這樣外鍵約束就會生效。
總的來說,MySQL是支持外鍵的,但是需要注意開啟外鍵約束這一點,同時建議使用InnoDB引擎來保證外鍵約束的有效性。
上一篇css怎么讓網頁填滿屏幕
下一篇css怎么讓背景變色