我與預設值的「查找」表(獲悉它比ENUM)MySQL刪除引用嗎?
CREATE TABLE tbl_payment_type (
id INT NOT NULL AUTO_INCREMENT,
PRIMARY KEY(id),
description VARCHAR(25)
);
INSERT INTO tbl_payment_type
(description)
VALUES
('PAYPAL'),
('DEBIT CARD'),
('CREDIT CARD'),
('CASH ON DELIVERY');
現在,我的每一個訂單包含支付類型。
CREATE TABLE tbl_order (
id INT NOT NULL AUTO_INCREMENT,
PRIMARY KEY(id),
...
payment_type INT,
FOREIGN KEY(payment_type) REFERENCES tbl_payment_type(id)
) AUTO_INCREMENT = 1000;
我目前使用MyISAM,但可能會在未來嘗試InnoDB(我不確定是否會影響問題)。
最後,問題是,如果我嘗試刪除tbl_payment_type
中的記錄,是否會導致MySQL自動刪除包含此付款類型的所有記錄tbl_order
?
好的感謝的的
payment_type
進入它會給你一個錯誤。那麼我想我會堅持使用MyISAM。 – Ozzy 2012-04-13 10:26:53如果您使用忽略它們的引擎,那麼關於外鍵的問題有什麼意義? :) – 2012-04-13 10:29:56
@ N.B。嗯,當我在紙上設計數據庫時,自然我創建了一個關係數據庫。當我將其轉換爲MySQL時,我沒有意識到FK默認不受支持。在開始使用InnoDB之前,我還有更多要學習。至少在這些留下來的時候,如果我將來需要改變,將會很快改變。另外,在查看SQL源代碼時,它可以幫助您瞭解留下的FK約束條件。 – Ozzy 2012-04-13 10:32:03