事前設定された値を持つ「ルックアップ」テーブルがあります(ENUMよりも優れていると通知されました)
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を試す可能性があります(それが質問に影響するかどうかはわかりません)。
そして最後に、問題は、からレコードを削除しようとすると、 MySQLがこの支払いタイプを含むtbl_payment_type
すべてのレコードを自動的に削除する原因になるのでしょうか?tbl_order