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建表外键约束怎么写的详细内容,更多请关注其它相关文章!