在MySQL中,如何使用外键创建列?

时间:2010-03-14 09:46:52

标签: mysql database

具有指向另一个表的列的外键的列。我该怎么做?

2 个答案:

答案 0 :(得分:1)

表引擎MyISAMInnoDB不可能,例如:

CREATE TABLE parent (id INT NOT NULL,
                     PRIMARY KEY (id)
) ENGINE=INNODB;
CREATE TABLE child (id INT, parent_id INT,
                    INDEX par_ind (parent_id),
                    FOREIGN KEY (parent_id) REFERENCES parent(id)
                      ON DELETE CASCADE
) ENGINE=INNODB;

否则(使用MyISAM)您只需手动检查列。它仍然(至少是逻辑的)外键但没有约束。

最后,外键只是对另一个表的引用。该表不一定要了解这一点,但它使生活更轻松。

答案 1 :(得分:1)

首先,确保使用InnoDB(或其他支持外键的引擎; MyISAM不支持)。然后,使用appropriate DDL statements