Laravel数据库 - PDOException完整性约束违规无法删除或更新

时间:2017-04-12 03:27:46

标签: laravel laravel-5.2 blade migrate

我使用Laravel 5.2。* 我的数据库出现问题,目前是数据库表:

  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'遇到了一些问题:

  

[Illuminate \ Database \ QueryException] SQLSTATE [23000]:完整性约束违规:1217无法删除或   upda te父行:外键约束失败(SQL:drop   表siswa

     

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

我已经检查了

migrate:reset

migrate:refresh

migrate:rollback

具有相同的错误

请帮助,谢谢

1 个答案:

答案 0 :(得分:0)

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