2017-04-12 4 views
0

업데이트 할 수 없습니다 * 을 나는 데이터베이스에 문제가 오류가 현재 데이터베이스 테이블 :Laravel 데이터베이스 - PDOException 무결성 제약 조건 위반이 삭제하거나 내가 <code>Laravel 5.2</code>를 사용

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 테 상위 행 : 외래 키 제약 조건이 실패 (SQL : 0,123,516 드롭테이블 siswa)

[PDOException]
SQLSTATE [23000] : 무결성 제약 조건 위반 : 1217 삭제할 수 없습니다 또는 업데이트는 부모 행 : 외래 키 제약 조건은

내가

으로 확인했다 실패
migrate:reset 

migrate:refresh 

migrate:rollback 

같은 오류가 있습니다.

감사합니다.

+0

모든 테이블을 수동으로 삭제 한 다음 'php artisan migrate' –

답변

0

이 오류 유형은 일반적으로 기본 키를 사용하여 테이블을 연결할 때 발생합니다. 오류로 인해 부모 테이블을 del 또는 update 할 수 없다는 것은 mysql 테이블에서 종속성을 제거하거나 모델에 has, have, in과 같은 종속성이 있는지 확인해야한다는 의미입니다. lawman 언어에서는 먼저 자식 행을 삭제해야하며 부모 행만 삭제할 수 있습니다.
당신의 경우에는 텔레폰 (id_siswa)과 siswa (id)가 연결되어 있습니다. 먼저 시스 폴의 콜론을 삭제 한 다음 텔레폰의 열을 삭제하십시오.