Home >Database >Mysql Tutorial >How Does ON DELETE CASCADE Affect Related Tables in MySQL Foreign Key Constraints?

How Does ON DELETE CASCADE Affect Related Tables in MySQL Foreign Key Constraints?

Susan Sarandon
Susan SarandonOriginal
2024-12-15 05:43:08542browse

How Does ON DELETE CASCADE Affect Related Tables in MySQL Foreign Key Constraints?

MySQL Foreign Key Constraints with Cascade Delete

Foreign key constraints play a vital role in maintaining data integrity and preventing orphans in relational databases. In MySQL, you can use the ON DELETE CASCADE option to ensure that when you delete a parent record, related child records are automatically deleted as well.

To set up a foreign key constraint with cascade delete, consider the following tables:

In this setup, products has a foreign key referencing categories, and ON DELETE CASCADE is specified to automatically delete products when the referenced category is deleted. However, this cascade will only affect records in categories_products where the category_id matches the deleted category.

For example, if you have the following data:

If you delete the 'red' category:

The products table will not be affected because the cascade only applies to the categories_products table. As a result, the data will become:

This arrangement ensures that you can maintain referential integrity while avoiding unintentional deletion of unrelated records.

The above is the detailed content of How Does ON DELETE CASCADE Affect Related Tables in MySQL Foreign Key Constraints?. For more information, please follow other related articles on the PHP Chinese website!

Statement:
The content of this article is voluntarily contributed by netizens, and the copyright belongs to the original author. This site does not assume corresponding legal responsibility. If you find any content suspected of plagiarism or infringement, please contact admin@php.cn