mysql 外键约束 on delete 和 on update 的参数有哪些作用
时间: 2024-01-24 17:18:16 浏览: 84
详解MySQL 外键约束
MySQL 外键约束的 ON DELETE 和 ON UPDATE 参数有以下作用:
1. ON DELETE 参数:
- RESTRICT:如果在主表中删除了某一行,则在关联表中具有相应外键的行将受到限制,无法删除。
- CASCADE:如果在主表中删除了某一行,则在关联表中具有相应外键的行也将被删除。
- SET NULL:如果在主表中删除了某一行,则在关联表中具有相应外键的行的外键列将被设置为 NULL。
- NO ACTION:与 RESTRICT 相同,但是 MySQL 不会执行任何操作。
2. ON UPDATE 参数:
- CASCADE:如果在主表中更新了某一行,则在关联表中具有相应外键的行也将被更新。
- SET NULL:如果在主表中更新了某一行,则在关联表中具有相应外键的行的外键列将被设置为 NULL。
- RESTRICT:如果在主表中更新了某一行,则在关联表中具有相应外键的行将受到限制,无法更新。
- NO ACTION:与 RESTRICT 相同,但是 MySQL 不会执行任何操作。
这些参数可以根据具体的需求来选择,以保证数据的完整性和一致性。
阅读全文