mysql - 如果父表中的行被删除,如何从子表中自动删除行
问题描述
我有两张桌子(客户和预订)
客户表:
| id |
| name |
| created_at |
| updated_at |
预订表:
| id |
| product |
| customer_id |
| created_at |
| updated_at |
如何创建一个迁移文件,在删除客户时删除与客户相关的所有预订?
解决方案
只需将外键 onDelete 设置为级联
Schema::create('bookings_table', function (Blueprint $table) {
$table->increments('id');
$table->string('product');
$table->unsignedInteger('customer_id');
$table->timestamps();
$table->foreign('customer_id')
->references('id')
->on('customer_table')
->onDelete('cascade')
->onUpdate('cascade');
});
推荐阅读
- c# - 为什么具有相同防伪验证的同一个 ASP.NET Core 应用程序可以在一台机器上运行,而不能在另一台机器上运行?
- apache-spark - Zip in spark.它是如何工作的,它的性能如何?
- vue.js - 在 VUE.js 中,我的本地字体不起作用。我在 npm 中收到错误消息
- arrays - 以角度显示来自json文件的数据
- swift - SwiftKuery,KituraStencil 与 resultSet.forEach() 的编译问题
- android - Android 怎么能像 iOS 一样在应用内调用 Google Play Store?
- python - 使用 geopandas 进行坐标变换的问题
- gnuplot - 试图在直方图中分离条形图,并设置自定义标签
- c# - 将 robocopy 与 C# Foreach.Parallel 一起使用
- c# - 当用户将鼠标悬停在 TreeView 控件的特定 TreeNode 控件上时显示不同的光标