laravel 填充数据前用truncate清空有外键的表时报错

DB::statement('SET FOREIGN_KEY_CHECKS=0;');
App\User::truncate();
DB::statement('SET FOREIGN_KEY_CHECKS=1;');

原理就是在执行truncate之前告诉mysql取消所有外键约束检查,清空之后再恢复外键约束检查。

参见: http://stackoverflow.com/questions/31192207/laravel-5-1-migration-and-seeding-cannot-truncate-a-table-referenced-in-a-foreig

你可能感兴趣的:(laravel 填充数据前用truncate清空有外键的表时报错)