1

mytable私がmySQLにあると仮定しましょう

CREATE TABLE `mytable` (
  `gender` enum('MALE','FEMALE','UNISEX') NOT NULL,
);

設計時にこれらの値を列挙したくありません。それらを値として入れたいanother_table

値は次another_tableのとおりです。SELECT

ID    NAME
==    ======
01    MALE
02    FEMALE
03    UNISEX

mytable.genderasを定義し、INTこれら 2 つのテーブルを WHERE 句で sth like と組み合わせることができますmytable.gender=another_table.id

設計時に、これらの列挙値を使用してデータベース レベルの外部キー関係を作成できますか?

4

1 に答える 1

1

はい、外部キー制約を使用します。

mytableこれにより、データベースは、テーブルに存在しないテーブル内の id 値への挿入または更新を拒否し、テーブルで使用されている値another_tableのテーブルからの削除を拒否します。another_tablemytable

于 2012-06-19T21:10:52.907 に答える