注册

mysql如何添加外键

在 mysql 中添加外键可确保数据完整性,通过将一个表中的列与另一个表中的主键关联实现。在表中添加外键的语法为:alter table table_name add foreign key (column_name) references referenced_table_name (referenced_column_name)。在插入新记录时,外键列的值必须等于已存在行的主键值。外键约束包括 on delete 和 on update,可指定外键引用的行被删除或更新时采取的操作。

MySQL 中添加外键

MySQL 中添加外键可以确保数据完整性和一致性。外键通过将一个表中的列与另一个表中的主键关联来实现。

如何添加外键

使用以下语法在 MySQL 中添加外键:

ALTER TABLE table_name
ADD FOREIGN KEY (column_name) REFERENCES referenced_table_name (referenced_column_name);

其中:

  • table_name 是要添加外键的表。
  • column_name 是要作为外键的列。
  • referenced_table_name 是包含外键列所引用的主键的表。
  • referenced_column_name 是作为外键引用的主键列。

示例

假设我们有两个表:

  • orders:包含订单信息,它具有字段 order_id 作为主键。
  • products:包含产品信息,它具有字段 product_id 作为主键。

要在外键 order_id 和 products 表的主键 product_id 之间建立关联,可以使用以下查询:

ALTER TABLE orders
ADD FOREIGN KEY (order_id) REFERENCES products (product_id);

现在,当向 orders 表中插入新记录时,order_id 列的值必须等于 products 表中现有行的 product_id 值。

外键约束

添加外键时,可以指定以下约束:

  • ON DELETE:指定当引用的行在 referenced_table_name 表中被删除时应采取的操作。选项包括 RESTRICT、CASCADE 和 SET NULL。
  • ON UPDATE:指定当引用的行在 referenced_table_name 表中被更新时应采取的操作。选项包括 RESTRICT、CASCADE 和 SET NULL。

例如,要指定在删除 products 表中的行时级联删除 orders 表中的引用行,可以使用以下语法:

ALTER TABLE orders
ADD FOREIGN KEY (order_id) REFERENCES products (product_id)
ON DELETE CASCADE;

以上就是mysql如何添加外键的详细内容,更多请关注CTO智库其它相关文章!