2017-04-12 64 views
0

我用Laravel 5.2 * 我有一个问题,错误使用数据库,目前数据库中的表:Laravel数据库 - PDOException完整性约束冲突无法删除或更新

Schema::create('telepon', function (Blueprint $table) { 
     $table->timestamps(); 
     $table->integer('id_siswa')->unsigned()->primary('id_siswa'); 
     $table->string('nomor_telepon')->unique(); 

     $table->foreign('id_siswa') 
       ->references('id')->on('siswa') 
       ->onDelete('cascade') 
       ->onUpdate('cascade'); 
    }); 

和迁移后,我有些问题“siswa相同“,在终端:

[照亮\数据库\ QueryException] SQLSTATE [23000]:完整性约束违规:1217不能删除或 upda TE父行,外键约束失败(SQL:下降 表siswa

[PDOException]
SQLSTATE [23000]:完整性约束违规:1217不能删除或 更新父行,外键约束失败

我有

检查
migrate:reset 

migrate:refresh 

migrate:rollback 

与同样的错误

请帮忙,谢谢

+0

尝试手动删除所有表,然后'php artisan migrate' –

回答

0

当您使用主键连接表时,通常会发生此类型的错误。 由于错误说不能删除或更新父表,这意味着你应该从你的mysql表中删除依赖关系,或者检查你的模型是否有像has,have这样的依赖关系。 在lawman语言中,您应该首先删除子行,然后只能删除父行。
在你的情况下,telepon(id_siswa)和siswa(id)是连接的。所以首先尝试删除siswa中的coloumns,然后删除telepon中的列。

相关问题