海印网
海印网

mysql建表外键约束怎么写

admin数码80

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

mysql建表外键约束怎么写-第1张图片-海印网

MySQL 外键约束语法

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

<code>ALTER TABLE child_table
ADD FOREIGN KEY (foreign_key_column)
REFERENCES parent_table (primary_key_column)</code>

登录后复制

其中:

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

外键约束的作用

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

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

示例

假设我们有两个表:ordersorder_items

<code>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)
);</code>

登录后复制

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

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

Tags: 主键完整性

Sorry, comments are temporarily closed!