mysql语法外键怎么写
时间 : 2023-03-08 18:57:01声明: : 文章内容来自网络,不保证准确性,请自行甄别信息有效性

MySQL外键是用于在关系型数据库中连接两个表的一种机制,它可以实现数据在不同表之间的关联,并且确保数据的完整性和一致性。在 MySQL 中,外键定义是通过使用 FOREIGN KEY 关键字来实现的。

外键语法如下:

CREATE TABLE child_table(

id INT PRIMARY KEY,

name VARCHAR(50),

parent_id INT,

FOREIGN KEY (parent_id) REFERENCES parent_table(id)

);

在这个语法中,我们定义了一个名为 `child_table` 的表。该表包含了三个字段,分别为 `id`、`name` 和 `parent_id`。其中,`id` 是主键,`name` 是字符串类型,`parent_id` 是用于关联 `parent_table` 表的外键。

在外键的定义中,我们使用 `FOREIGN KEY` 关键字来实现,后面的括号中定义了外键所对应的字段名。本例中,`parent_id` 是用于和 `parent_table` 表中的 `id` 字段建立关联的。

接着,我们使用 `REFERENCES` 关键字来定义表与表之间的关系,其中后面的括号中指定了被关联表的名字和被关联字段的名字。本例中,我们要将 `parent_id` 与 `parent_table` 表中的 `id` 字段建立关联。

最后,我们需要在定义完外键后,设置外键的约束条件。这些约束条件有 `ON DELETE` 和 `ON UPDATE` 两种,分别表示在删除或更新表中的数据时,对关联表中的数据所采取的行为。这些行为包括 `CASCADE`、`SET NULL`、`RESTRICT` 和 `NO ACTION` 四种操作。

例如:

CREATE TABLE parent_table (

id INT PRIMARY KEY,

name VARCHAR(50)

);

CREATE TABLE child_table (

id INT PRIMARY KEY,

name VARCHAR(50),

parent_id INT,

FOREIGN KEY (parent_id) REFERENCES parent_table(id)

ON DELETE CASCADE

ON UPDATE CASCADE

);

在这个示例中,我们创建了两个表,`parent_table` 和 `child_table`。`child_table` 中的 `parent_id` 字段与 `parent_table` 中的 `id` 字段建立了外键关联,并指定了 `ON DELETE CASCADE` 和 `ON UPDATE CASCADE` 约束条件。这表明如果 `parent_table` 中的数据被删除或更新,则 `child_table` 中与之相关联的数据也将被删除或更新。

总之,MySQL 的外键语法定义比较简单,可以使用 FOREIGN KEY 和 REFERENCES 关键字来定义外键,同时还可以使用 ON DELETE 和 ON UPDATE 来设置外键的约束条件,以保证数据的完整性和一致性。