1

假设我mytable在 mySQL

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

我不想在设计时列举这些值。我想把它们another_table作为值。

在值是another_tableSELECT

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

我可以在 WHERE 子句中定义mytable.genderasINT并将这两个表与 sth like 组合起来mytable.gender=another_table.id

我可以在设计时使用这些枚举值创建数据库级别的外键关系吗?

4

1 回答 1

1

是的,您使用外键约束

这将使数据库拒绝插入或更新mytable表中不存在的another_table表中的 id 值,并拒绝从表中删除another_table表中使用的值mytable

于 2012-06-19T21:10:52.907 回答