Mysql
 sql >> Teknologi Basis Data >  >> RDS >> Mysql

Migrasi Laravel - Pelanggaran batasan integritas:1452 Tidak dapat menambah atau memperbarui baris anak:batasan kunci asing gagal

Saya memiliki masalah yang sama. Memperbaikinya dengan menambahkan nullable ke bidang:

Schema::create('table_name', function (Blueprint $table) {
    ...
    $table->integer('some_id')->unsigned()->nullable();
    $table->foreign('some_id')->references('id')->on('other_table');
    ...
});

Perhatikan bahwa setelah migrasi semua baris yang ada akan memiliki some_id = NULL .

UPD :

Sejak Laravel 7 ada cara yang lebih singkat untuk melakukan hal yang sama:

$table->foreignId('some_id')->nullable()->constrained();

Juga sangat penting bahwa nullable berjalan SEBELUM constrained .

Info lebih lanjut dapat Anda temukan di sini, di dokumentasi resmi



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Cara Mendapatkan Data Minggu Ini di MySQL

  2. Cara memangkas tiga karakter pertama berdasarkan huruf pertama (ekspresi) sebelum dimasukkan ke dalam database

  3. Cara mendapatkan 2 item terbaru per kategori dalam satu pilihan (dengan mysql)

  4. Peringatan:mysqli_num_rows() mengharapkan tepat 1 parameter, 2 diberikan | mysql |mysqli

  5. Hitung hari dalam rentang tanggal?