ZVVQ代理分享网

mysql建表外键约束怎么写(mysql建表时设置外键)

作者:zvvq博客网
导读mysql外键约束语法为:alter table child_table add foreign key (foreign_key_column) references parent_table (primary_key_column),可确保两个表间关系完整性。外键约束作用包括:1.数据完整性:约束子表引用必

mysql外键约束语法为:alter table child_table add foreign key (foreign_key_column) references parent_table (primary_key_column),可确保两个表间关系完整性。外键约束作用包括:1.数据完整性:约束子表引用必须存在于父表;2.级联更新:父表主键值变动时自动更新所有引用;3.级联删除:父表主键值删除时自动删除所有引用。

MySQL 外键约束语法

在 MySQL 中,外键约束用于确保两个表之间的关系完整性。其语法如下:

1

2

3

ALTER TABLE child_table

ADD FOREIGN KEY (foreign_key_column)

REFERENCES parent_table (primary_key_column)

其中:

child_table:需要添加外键约束的表。 foreign_key_column:child_table 中引用 parent_table 主键的列。 parent_table:被引用的表,其主键用于定义约束。 primary_key_column:parent_table 中被引用的主键列。

外键约束的作用

外键约束有助于确保以下事项:

数据完整性:防止在子表中插入没有在父表中存在的引用。 级联更新:当父表中的主键值更改时,自动更新所有引用子表中的值。 级联删除:当父表中的主键值被删除时,自动删除所有引用子表中的值。

示例

假设我们有两个表:orders 和 order_items:

1

2

3

4

5

6

7

8

9

10

11

12

13

CREATE TABLE orders (

order_id INT NOT NULL AUTO_INCREMENT,

customer_id INT NOT NULL,

PRIMARY KEY (order_id)

);

CREATE TABLE order_items (

item_id INT NOT NULL AUTO_INCREMENT,

order_id INT NOT NULL,

product_id INT NOT NULL,

PRIMARY KEY (item_id),

FOREIGN KEY (order_id) REFERENCES orders (order_id)

);

在此示例中,order_items 表的外键约束确保了每个 order_id 值在 orders 表中都存在。这意味着我们无法在 order_items 表中插入没有在 orders 表中存在的 order_id 值。

以上就是mysql建表外键约束怎么写的详细内容,更多请关注其它相关文章!