MySQL是一种常用的关系型数据库管理系统,其支持定义外部关键字。定义外部关键字可以让我们在创建表或修改表结构时,更加灵活地定义表的约束条件。
下面是一个示例,演示如何定义一个外部关键字:
--by www.qzphp.cn CREATE TABLE t1 ( id INT NOT NULL PRIMARY KEY, name VARCHAR(30) NOT NULL, parent_id INT, FOREIGN KEY (parent_id) REFERENCES t1(id));
在上述示例中,我们定义了一张名为t1的表。其中包含了三个字段:id、name和parent_id。其中,id字段作为主键,name字段不允许为空,parent_id是一个外键,用于关联t1表的id字段。
在定义外键时,我们使用了“FOREIGN KEY”关键字。这个关键字告诉MySQL,下一个括号中的字段是一个外键,并且需要参考另外一张表中的主键。
在本例中,我们用“REFERENCES”关键字引用了t1表的id字段。这意味着当我们向t1表插入数据时,如果在插入parent_id时指定的值在id字段中不存在,就会引发一个错误。
需要注意的是,定义外部关键字并不是一个必须步骤,而是一种选项。在某些特定的场景下,定义外部关键字可以使我们的数据库更加安全和可靠。然而,在其他情况下,可能并不需要定义外部关键字。

