2017-04-12 67 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中的列。

相關問題